2017-02-14 4 views
-2

は、ここに私のコードです: イベント結果が要素と等しい場合、jQueryテスト?

$('html').on("click", function (e) { 
    if(!$(e).is($element)) { 
     hideResults(); 
    } 
}); 

が、私はこれを試してみましたが、それは動作しません。要素はdivです。イベントの結果が要素と等しいかどうかをテストします。これは、コードを更新している

EDIT 、まだあなたがe.targetないイベント自体をチェックする必要が

$(document).on("click", function (e) { 
    if(!$(e.target).is($element)) { 
     hideResults(); 
    } 
}); 
+2

'$ element'とは何ですか?どうやってそれを手に入れますか? –

+0

@brahimmahrir $要素は問題ありません。私はそれが定義されていることを確認するためにテストしました。 – Wyatt

+0

ifの内部にアラートを入れて、ポップアップするかどうかを確認してください! –

答えて

2

を動作しません。このように:

$(document).on("click", function (e) { 
    if(!$(e.target).is($element)) { 
     hideResults(); 
    } 
}); 

そして、なぜ"html"を使用して、documentが良いです!

+0

返信いただきありがとうございます。私は更新されたコードを追加しましたが、まだ動作していないようです。 – Wyatt

0

私は、あなたがクリックイベントの結果で達成しようとしていることを推測するだけで、私はあなたを正しい方向に押し込むことができます。)だけで(上のjQueryのメソッドの使用を明確にする :指定されたコードを説明しようと

これは、オブジェクトにイベントハンドラをアタッチします。この場合、オブジェクトはDOM-Elementを囲むjQueryオブジェクトです。最初のパラメータは発生したいイベントで、イベントハンドラメソッドを第3パラメータとして起動する必要があります。つまり、デリゲートまたはこの場合はアノニマスのjavascript関数です。このファンクションは、jQueryメソッド()から渡されるパラメータを取得します。

重要な部分は、あなたが「click'イベントの結果であるかを知るために持っていることを、あなたはおそらく、ここでそれを見つけることができます:https://api.jquery.com/click/

方法.on(の使用の場合)が不明な場合は、こちらをご覧ください:https://api.jquery.com/on/

私はあなたを助けてくれることを願っています!

関連する問題