2017-02-09 2 views
0

オプションの子セレクタと一致するオプションを持つjQueryプラグイン(私が書いた)があります。私は、このマークアップしている場合:すなわちオブジェクト全体へのイベントの委託

<div class="header"> 
    <a id="item-name">Blah</a> 
    <span class="some-data">Numbers and Stuff</a> 
    <span class="other-data">Bananas</a> 
</div> 

Orignallyを、私が使用して全体.headerにクリックイベントを委任:

headerDiv.on('click', function() { 

をしかし、その後になるよう、唯一のアンカーにクリックを制限するために必要な互換性を維持し、私は別の構文を使用:

headerSelectorは、デフォルトで *ですが、私がそれを制限する aを渡すことができ
headerDiv.on('click',headerSelector, function() { 

アンカーだけ。私が現在使用しているデフォルトの*セレクタは問題があるようですが、クリックが登録されていないことがあります。委任されたイベント構文を使用するときに要素自体を照合する適切な方法はありますか?

+0

私はそれはそれは、私が答える前にそれを仕事にチェックんheaderDiv –

答えて

0

デフォルトでは、私はそれがheaderDiv.on('click', function() {

+0

のイベントバインダーのコードを表示してください – mhshimul

+0

内headerDivを探しますので、これは動作しないだろうと思い、あなたのプラグイン – naortor

0

使用headerDivを使用する親要素として、セレクタ内の文書、その後*に等しくなると思う

headerSelector = headerDiv

を行うことができます。もし子が与えられれば、それを*と置き換える。

$(document).on('click', "headerDiv *", function(){}) 
関連する問題