2

div内にクラス名「.modalPopup」を持つdivがあります。複数のテーブルと内部テーブルがあります。divと、テキストボックス(入力)とドロップダウンリスト(選択)などの複数のコントロールの内部にあります。Jquery Selectorを使用しないでください

私はドロップダウンリスト(選択)を除いて "modalPopup"を持つmain divのどこかをクリックすると、クリックイベントを発生させたいと思っています。 私のオプションを使用しようとしましたが、特定のクリックイベントを取得できません。 のような

$('.modalPopup :not(modalPopup select)').click(function(){ 
    document.write("working for click except select "); 
    }); 

いずれか私に解決策を提供してください。

答えて

0

最も簡単な方法は、ちょうどmodalPopupのクラスを持つdiv要素にクリックイベントをバインドしe.targetを使用して、ユーザーが実際にクリックされたかどうか確認することです。 $(e.target).is('select')はdom要素を取得し、そこからjQueryオブジェクトを作成し、それが選択項目であるかどうかを確認します。

JSFiddle Example

+0

if(!$(e.target).is( 'select'))) "をexpalainしてください。私はあなたに非常に感謝しています... –

+0

@ user1129558確かに - 私の編集を参照 –

+0

感謝@リチャードDの説明のため。 –

0

not()条件で.modalPopupの前にドットが欠落しています。

$('.modalPopup').click(function(e){ 
    if (!$(e.target).is('select')) { 
     document.write("working for click except select "); 
    } 
}); 

e.targetがクリックされたDOM要素です:

$('.modalPopup :not(.modalPopup select)').click(function(){ document.write("working for click except select "); }); 
+0

ここに入力している間、私は助けるためにsolution.thanksを見つける...ドットを欠場。 –

関連する問題