私は入力といくつかのボタンを含むドロップダウンメニューを持っています。ボタンの1つをクリックするか他の場所をクリックするとドロップダウンが表示されますが、入力時にキーを押すと非表示にはなりません。私は次のコードを使用しますが、動作しません。私はjqueryライブクリックイベントstopPropagation
$('.dropdown input').click(function(e){
})
の代わりlive
を使用する場合、それは動作しますけれども。
しかし、私はlive
が必要ですか?これには解決策がありますか?ハンドラが呼び出された時点で、イベントはすでに泡立てたので、ハンドラは、document
にバインドされているため
/* dropdown menu */
$('.dropdown input').live('click', function(e) {
e.stopPropagation();
});
$(document).click(function(e){
if(e.isPropagationStopped()) return; //important, check for it!
});
あなたはhtmlも投稿できますか? jQuery 1.7では '.live()'は非推奨です。 '.on()'や '.delegate()'を使用することをお勧めします。 –
は '.dropdown input'が動的に作成されますか? –
あなたはon()を使用していなければなりません。ライブは、既にドキュメントレベルに伝播されているため、クリックと同様に動作しません。入力時に停止しません。 – scottheckel