我试图检查单击的元素是否具有一个类,以决定我需要做什么。对我来说,以下代码将不起作用。我尝试了很多失败的变种。
$(window).click(function(e) {
//console.log(e);
//if ($(e).is('.lookingfor'))
//if ($(this).is('.lookingfor'))
if ($(e).hasClass('lookingfor')) {
alert('matched');
} else {
alert('wrong class');
}
});
答案 0 :(得分:4)
e
是引发的事件。相反,您需要引用被单击的元素,可以从事件的target
属性中检索该元素:
$(window).click(function(e) {
if ($(e.target).hasClass('lookingfor')) {
console.log('matched');
} else {
console.log('wrong class');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="lookingfor">This has the class</p>
<p class="foo">This does not</p>