如果在 .m1wrap
div 之外的任何地方单击,我需要显示警报。
为什么这不起作用?即使我点击 .m1wrap
也会出现警报
$(document).on("click", function(e) {
if (e.target.class !== "m1wrap") {
alert ("323");
};
})
最佳答案
在 e.target
中没有属性 class
(它返回 undefined
),您可以使用属性 e.target.className
(注意它从 class
属性返回所有类),但是在 jQuery
中有方法 .hasClass
。
你也可以使用 classList
和 .contains
方法 e.target.classList.contains('m1wrap')
$(document).on('click', function (e) {
if (!$(e.target).hasClass('m1wrap')) {
console.log('not m1wrap');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="m1wrap">m1wrap</div>
<p>test</p>
关于javascript - 单击指定类以外的任意位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34176802/