如果在 .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/

10-12 06:56