Jquery 如何创建当用户单击元素时触发的事件(例外情况是2个子元素)
如何创建当用户单击元素时触发的事件(例外情况是2个子元素)。 Html:Jquery 如何创建当用户单击元素时触发的事件(例外情况是2个子元素),jquery,Jquery,如何创建当用户单击元素时触发的事件(例外情况是2个子元素)。 Html: 但是,如果我点击cc btn会触发警报。问题是您已将事件侦听器附加到cc bannerdiv,因此即使单击子元素,它也会始终注册单击 尝试检查单击处理程序中的事件目标。如果目标类与不希望单击的元素匹配,则返回: $('.cc-banner').on("click", function (e) { var $target = $(e.target); if($target.hasClass('cc-link') ||
但是,如果我点击
cc btn
会触发警报。问题是您已将事件侦听器附加到cc banner
div,因此即使单击子元素,它也会始终注册单击
尝试检查单击处理程序中的事件目标。如果目标类与不希望单击的元素匹配,则返回:
$('.cc-banner').on("click", function (e) {
var $target = $(e.target);
if($target.hasClass('cc-link') || $target.hasClass('cc-dismiss')) return;
alert("HI!");
});
如果将单击事件绑定到所有内容,则需要检查目标以处理这些情况 jsfiddle-
})) 您应该通过事件对象并检查目标。Pseudo看起来像“单击事件(event){if(event.target.hasClass(cc btn)return;dotherest}”
jQuery('.cc-window.cc-banner').not(jQuery(".cc-link").not(jQuery(".cc-btn.cc-dismiss"))).on("click", function () {
alert("HI!");
});
$('.cc-banner').on("click", function (e) {
var $target = $(e.target);
if($target.hasClass('cc-link') || $target.hasClass('cc-dismiss')) return;
alert("HI!");
});
$('.cc-window.cc-banner').on("click", function (e) {
var t = $(e.target);
if(!t.hasClass("cc-btn")){
alert("I did not click on '.cc-btn'")
} else {
return;
}