ユーザーが要素をクリックした場合を除いて、要素またはその中の何かをクリックしたときにイベントを発生させる必要があります<a>
。
これは私が今試していることです:
$( "div:not(a)" ).click(function(e) {
alert("hello world");
});
ここでそれをよりよく理解できます:
これどうやってするの?
あなたが使用することができます:
$("div").click(function (e) {
if (e.target.nodeName.toLowerCase() != 'a') alert("hello world");
});
あなたdiv
は決して ではないのでa
、これはうまくいきません。
a
次のようなタグのターゲット要素を確認する必要があります。
$('div').click(function(event) {
var $target = $(event.target);
if(!$target.is("a") ) {
alert("hello world");
}
});
私はあなたのフィドルを更新しました:見てください
これはテストされていませんが、うまくいけばアイデアが得られます:
$(function(){
$('div').click(function(e){
if($(e.target).is('a')){
e.stopPropagation();
}
});
});