单击和选择器:不-不工作
Click and selector :not - not working
为什么选择器 :not - 不起作用?点击红色区域后,打开警报。为什么?
<div class='content'>
<div style="width:200px; height:200px; background:#EEE;">
<div id="click" style="width:100px; height:100px; background:red"></div>
</div>
</div>
$("body:not(#click)").on("click", function(event) {
alert(event.target.id);
});
您需要使用停止传播或检查点击处理程序中的条件。
您的选择器 body:not(#click)
将查找 ID 不是 click
的正文元素,在您的情况下,正文没有 ID,因此它将处理程序添加到正文元素
$("body").on("click", function (event) {
if (!$(event.target).closest('#click').length) {
alert(event.target.id);
}
});
演示:Fiddle
使用停止传播
$("body").on("click", function (event) {
alert(event.target.id);
});
$("#click").on("click", function (event) {
event.stopPropagation()
});
演示:Fiddle
为什么选择器 :not - 不起作用?点击红色区域后,打开警报。为什么?
<div class='content'>
<div style="width:200px; height:200px; background:#EEE;">
<div id="click" style="width:100px; height:100px; background:red"></div>
</div>
</div>
$("body:not(#click)").on("click", function(event) {
alert(event.target.id);
});
您需要使用停止传播或检查点击处理程序中的条件。
您的选择器 body:not(#click)
将查找 ID 不是 click
的正文元素,在您的情况下,正文没有 ID,因此它将处理程序添加到正文元素
$("body").on("click", function (event) {
if (!$(event.target).closest('#click').length) {
alert(event.target.id);
}
});
演示:Fiddle
使用停止传播
$("body").on("click", function (event) {
alert(event.target.id);
});
$("#click").on("click", function (event) {
event.stopPropagation()
});
演示:Fiddle