2013-02-02 7 views
5

div内にボタンがあり、そのdivを非表示にしています。divをハンドラに渡したいと思います。ここに私の現在のコードは次のとおりです。jQueryでon()を使用してコンテナを取得

$('#hidden-div').on('click', '#hide-btn', { element : $('#hidden-div') }, hideElement); 

は、コンテナを再選択を回避する方法はありますか?このような何かがいいだろう:

$('#hidden-div').on('click', '#hide-btn', { element : $(this) }, hideElement); 
+0

[委譲されたイベントがバインドされた要素を取得する - jQuery](http://stackoverflow.com/questions/8244350/getting-the-element-that-a-delegated-event-is-bound –

+0

@FelixKling:あなたが掲示した質問がまさに私が望んでいたものなので、これはあなたが私を逮捕した2回目です。私の限られたjQueryボキャブラリーのために、私はちょうど正しい検索を形成できませんでしたクエリ。この質問を閉じるのを手伝ってください。 –

+0

ああですか? :)心配しないでください。質問が多いほど重複することは論理的です。そして、はい、最大の問題の1つは、あなたが探しているものがわからないときに、解決策/質問を見つけることができないということです); –

答えて

6

event.delegateTargetはDOM要素の参照を保持しています。

$('#hidden-div').on('click', '#hide-btn', hideElement); 

function hideElement(e) { 
    $(e.delegateTarget)//do stuff 
} 

jQueryオブジェクト内にラップする必要がありますが、DOM要素参照からjQueryオブジェクトを作成してもDOMは照会されません。

+1

ありがとうございました。これは私が探しているものです。 –

関連する問題