我不断收到未定义的错误Cannot call method 'changeBackgroundColor'
。我设置了一个点击事件来调用我的插件中的公共方法。当以编程方式调用该方法时,它可以工作,但是如果我单击该元素,则会收到错误消息。
我的插件html结构是这样的:
<div class="container">
<div id="square"></div>
</div>
从插件中截取:
this.changeBackgroundColor = function() {
$('#square').css('background','red');
};
//Note "this" is the .container so I bind click event to child square
$('#square', this).bind('click', function () {
//Error
changeBackgroundColor();
});
如果我称之为$('.container').myPlugin().changeBackgroundColor();
有效。但是如果我changeBackgroundColor
从点击事件函数调用它就找不到该changeBackground
函数。
在这里链接到 jsFiddle
注意:我使用的是 jQuery 1.10.1