我需要为所有元素绑定mouseover,mouseout和click事件,但除了某个Div及其子元素之外。
<html>
<head></head>
<body>
<div>
<!-- page content goes here -->
</div>
<div class="popup">Popup content goes here</div>
</body>
</html>
我可以绑定所有元素的事件,如下所示。
$(document).ready(function () {
$(this).find("body *").mouseover(function(e){
// do something
}).mouseout(function(e){
// do something
}).click(function(e){
// do something
});
});
我尝试了几种方法来忽略“.popup”div的内容。但它没有成功。
感谢您的解决方案。谢谢!
答案 0 :(得分:1)
$(this).find("body *").not(".popup").mouseover(function(e){
// do something
}).mouseout(function(e){
// do something
}).click(function(e){
// do something
});
但您必须在文档准备中尝试以下代码 $(this)
无法正常工作
$(document).ready(function () {
$("body *").not(".popup").mouseover(function(e){
// do something
}).mouseout(function(e){
// do something
}).click(function(e){
// do something
});
});
参考 .not()
答案 1 :(得分:0)
尝试:
$(document).ready(function () {
$(this).find("body *").not(':has(> .yourclassyoudontwant)').mouseover(function(e){
// do something
}).mouseout(function(e){
// do something
}).click(function(e){
// do something
});
});