假设我有一个带有div和三个子div的标记:
<div class='all'>
<div class='x'>Hello from x div</div>
<div class='y'>Hello from y div</div>
<div class='z'>Hello from z div</div>
</div>
使用我的事件处理程序,当用户使用类x点击div中的某处时,我会处理。
$('.all').on('click', '.x', function (e) {
alert('You clicked inside the x div')
});
现在我的问题出现了。我可以编写一个事件处理程序来响应来自点击类x的 not 的所有内容吗?类似的东西:
$('.all') * .not. * on('click', '.x', function (e) {
alert('You clicked inside something different from the x div')
});
答案 0 :(得分:3)
是的,您可以使用jQuery :not选择器
$('.all').on('click', ':not(.x)', function (e) {
alert('You clicked inside something different from the x div')
});
答案 1 :(得分:1)
使用:not()
选择器。
$('.all').on('click', ':not(.x)', function (e) {
alert('You clicked inside something different from the x div')
});
$('.all').on('click', ':not(.x)', function (e) {
alert('You clicked inside something different from the x div')
});
<div class='all'>
<div class='x'>Hello from x div</div>
<div class='y'>Hello from y div</div>
<div class='z'>Hello from z div</div>
</div>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>