Javascript 单击指定类以外的任意位置
如果在Javascript 单击指定类以外的任意位置,javascript,jquery,Javascript,Jquery,如果在.m1wrapdiv以外的任何位置单击,我需要显示警报 为什么这不起作用?即使单击.m1wrap $(document).on("click", function(e) { if (e.target.class !== "m1wrap") { alert ("323"); }; }) 在e.target中没有属性class(它返回undefined),您可以使用属性e.target.className(注意它返回class属性中的所有类),但是在jQuer
.m1wrap
div以外的任何位置单击,我需要显示警报
为什么这不起作用?即使单击.m1wrap
$(document).on("click", function(e) {
if (e.target.class !== "m1wrap") {
alert ("323");
};
})
在
e.target
中没有属性class
(它返回undefined
),您可以使用属性e.target.className
(注意它返回class
属性中的所有类),但是在jQuery
中有方法
您还可以与.contains
方法e.target.classList.contains('m1wrap')一起使用
$(文档).on('click',函数(e){
if(!$(e.target).hasClass('m1wrap')){
console.log('notm1wrap');
}
});代码>
m1wrap
test
在e.target
中没有class
,只有className
可用
代码片段:
$(document).on("click", function (e) {
if (e.target.className !== "m1wrap") {
alert("323");
};
})
但是如果一个元素有多个类名,下面的代码片段是最好的方法
$(document).on("click", function (e) {
if (!$(e.target).hasClass('m1wrap')) {
alert("323");
};
})
您需要使用来处理类
属性
所以要么使用jQuery,要么使用vanilla JS
注意:这个使用className
的示例仅检查类是否不等于“m1wrap”,而不是不包含“m1wrap”
$(文档)。在(“单击”)上,函数(e){
如果(e.target.className!=“m1wrap”){
警报(“323”);
};
})
m0wrap
m1wrap
m2wrap
返回,它没有类属性
因此,您可以使用className属性或getAttribute()方法来获取元素的类名
如果您想使用jQuery API,可以使用方法
<div>
<div class="m1wrap">
Non Clickable area
</div>
Clickable area
Clickable area
Clickable areaClickable areaClickable
Clickable areaClickable
Clickable area
</div>
if(!$(e.target).hasClass('m1wrap')
@Tushar,如果异常div是.m1wrap
及其所有子元素,pls?元素可以有多个classes@Tushar如果我在工作,请纠正我。这也适用于children元素。所以不要担心。@bonaca您可以使用$(e.target).is('.m1wrap')
$(('body')).on('click',function(e) {
if ($(e.target).hasClass('m1wrap')) {
return false;
}
alert("hello");
})