将 jquery 事件附加到不包括具有 class 的子项的元素
Attach jquery event to element excluding children with class
我有这样的元素:
<div class="parent">
<div class="one"></div>
<div class="two"></div>
<div class="child"></div>
<div class="child"></div>
<div class="three">
<div class="four">
<div class="child"></div>
<div class="five"></div>
</div>
</div>
</div>
是否可以将 'mousemove' 事件应用于“.parent”,而不会在可能不是直接后代的“.child”元素上触发?
我尝试了 .children、.not 的组合,但似乎没有任何效果。
编辑:感谢您提出的重复问题和投反对票,但我看不出它如何适用于我的问题。
这是你的意思吗?此代码将事件附加到 parent,但根据悬停的元素,它的行为会有所不同。在这种情况下,如果它有 class child.
$(".parent").on('mousemove', function(e){
console.log(e);
if(e.target.className === 'child'){
console.log('do nothing, this has child class')
} else {
console.log('do whatever, this does not have the child class')
}
});
这里还有一个 jsfiddle jsfiddle
我有这样的元素:
<div class="parent">
<div class="one"></div>
<div class="two"></div>
<div class="child"></div>
<div class="child"></div>
<div class="three">
<div class="four">
<div class="child"></div>
<div class="five"></div>
</div>
</div>
</div>
是否可以将 'mousemove' 事件应用于“.parent”,而不会在可能不是直接后代的“.child”元素上触发?
我尝试了 .children、.not 的组合,但似乎没有任何效果。
编辑:感谢您提出的重复问题和投反对票,但我看不出它如何适用于我的问题。
这是你的意思吗?此代码将事件附加到 parent,但根据悬停的元素,它的行为会有所不同。在这种情况下,如果它有 class child.
$(".parent").on('mousemove', function(e){
console.log(e);
if(e.target.className === 'child'){
console.log('do nothing, this has child class')
} else {
console.log('do whatever, this does not have the child class')
}
});
这里还有一个 jsfiddle jsfiddle