事件处理程序中的JQuery选择器

时间:2014-11-21 23:06:23

标签: jquery

假设我有一个带有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')
});

2 个答案:

答案 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>