0

コールバックを呼び出す必要がある要素をクリックすると、jquery プラグインにコールバックがあるという重大な問題があります。

クリック イベントが複数回トリガーされることが観察されたので、一部のアイテムをアンバインドするとうまく機能しますが、一部のアイテムはコールバックをトリガーしません。

$(this).children('li').unbind('click').click(function(){
switch(this.id){
    case 'foo' : options.foocallback();
      break;
    case 'bla' : options.blacallback();
      break;
    .....
  }
}); 

HTML:

<ul>
<li id="foo">...</li>
<li id="bla">...</li>
...
</ul>

リスト項目をクリックすると、正常に動作し、コールバックが呼び出されるようになりました

** しかし、一部のアイテムはコールバックを呼び出していません**

4

1 に答える 1

2

このようなことを試すことができます(イベントバインディングがいくつかの条件に依存しない場合)

HTML

<ul id="listholder">
  <li id="foo">...</li>
  <li id="bla">...</li>
  ...
</ul>

jQuery

$('#listholder li').on('click', function() {
 switch(this.id){
    case 'foo' : options.foocallback();
      break;
    case 'bla' : options.blacallback();
      break;
    .....
  }
});
于 2012-08-13T09:39:40.190 に答える