[英]check if one of the the elements in propagation has a specific class, on jquery.click() method
在jQuery.click()
方法中,可以使用even.target
触发事件的元素类。 我想检查是否已单击的元素或其父元素之一具有某些特定的类。
<div class="c1"><a href="#" class="c2">Click</a></div>
<script>
$(document).click(function(e){
if($(e.target).hasClass("c1"))
alert("It's C1");
});
</script>
但是它总是失败,因为单击了c2
。 尽管使用.parent()
,但我想知道是否有一种方法可以检查点击事件的传播。
从您所说的是C1被单击,您想知道是否
您需要查看元素是否在单击的元素内。
var target = $(e.target);
if (target.hasClass("c2") || target.find(".c2").length) {
alert("C2 is a child");
}
编辑,现在您最初询问的不是您真正想要的。
现在,如果它是父母,它就像
var target = $(e.target);
if (target.hasClass("c1") || target.parents(".c1").length) {
alert("C1 child was clicked");
}
或伊恩指出
if (target.closest(".c1").length) {
alert("C1 child was clicked");
}
您可以使用$(this).hasClass
代替$(e.target)。 $(this).parent()
也将导致目标的父对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.