我正在尝试使我的 jquery 小部件松散耦合,但是 _trigger 和 bind 的使用没有按预期工作。
这是我的小部件(使用http://msdn.microsoft.com/en-us/library/hh404085作为参考):
(function ($, undefined) {
$.widget('qs.tagger', {
_create: function () {
var that = this,
name = this.name;
that.element.bind('mouseenter', function (event) {
that._trigger('activated', event, {name: 'hello'});
console.log('mouseenter');
});
},
destroy: function () {
this._destroy();
}
});
}(jQuery));
调用它看起来像这样
$('#results').tagger();
这是实例化和绑定:
$('#results').tagger();
$('#search-form').bind('taggeractivated', function (event, data) {
console.log('world');
});
当我检查 console.log 时,我看到鼠标输入事件被触发,但我从未看到绑定事件被调用。