2011-08-08 5 views
0

私は関数を実行する親divと別の関数を実行する子divを持っています。子divをクリックすると親div関数がトリガーされるので、クリックが子divから来ているかどうかをどのように確認できますか?クリックがどこから来たのかチェックする(jQuery)

+0

が重複する可能性は、私はJavaScriptのメソッドから見つけることができます、どのDOM要素が私を呼びましたか?](http://stackoverflow.com/questions/831942/can-i-find-o ut-from-a-javascript-method-who-dom-element-me) –

+1

ドキュメンテーション:http://api.jquery.com/event.target/またはhttp://api.jquery.com/ event.stopPropagation/ –

答えて

1
$("#parentid").click(function(e) { 
    var target = e.target; 
    if(target != this) { 
    alert("not parent"); 
    } 
}); 

参照:http://api.jquery.com/event.target/

+0

function(a、b、c)のように、関数内にもっと多くの属性があるとどうしたらいいですか? – Henry

+0

jqueryクリックハンドラは、1つのパラメータ(イベントオブジェクト)しか必要としません。参照:http://api.jquery.com/click/。 Clickで実行したい他の機能がある場合は、クリックハンドラ内から呼び出しを行う必要があります。 –

0
$(function() { 
    $("div").click(function(e) { 
     e.stopPropagation(); 
     alert($(this).attr('id') + " was clicked!"); 
    }); 
}); 

このjsFiddleこの例を持っている...

0

このお試しください:[の

$("parentSelector").click(function(e) { 

    if($(e.target).is("parentSelector")) { 
    alert("parent"); 
    } 
    else{ 
    alert("not parent"); 
    } 

}); 
関連する問題