0

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 を確認すると、mouse enter イベントが発生していることがわかりますが、bind ing イベントが呼び出されていることはわかりません。

4

3 に答える 3

0

試す

$('#results').tagger();
$('#search-form').on('activated', function (event, data) {console.log('world');});
于 2012-07-27T21:15:32.417 に答える
0

あなたの HTML 構造を知らずに、私は暗闇の中で突き刺し、$('#results')要素が要素の子孫ではないと言ってい$('#search-form')ます。プラグインによってスローされたイベントは、プラグインがインスタンス化されたオブジェクトまたは祖先によってのみキャッチできます。さらにヘルプが必要な場合は、HTML を提供してください。さらに良いのは、jsfiddle.netを介して HTML と JavaScript を提供することです。

于 2012-07-27T22:00:51.367 に答える