请教一个jquery问题 页面有很多元素,我想给所有元素赋一个方法,除了一个div。该怎么写呢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 還不如把這個DIV的方法重定義一次高效呢 $("*:not('#div1')").click(function () {}); $("*:not('#divid')").bind(function(){ //your function........}) <html><body><script src="./jquery-1.4.2_mine.js" type="text/javascript"></script><script>$(document).ready(function(){ $("*:not('#Test')").bind('mousedown', function() { alert("ok") })})</script><div id="Test">AAAA</div><br><br><br><div>BBBB</div></body></html>试过了不好用!! 其实不是不好用,而是LZ没搞清楚冒泡这事。这样吧,针对这个例子可以这样写<html><body><script src="./jquery-1.4.2_mine.js" type="text/javascript"></script><script>$(document).ready(function(){ $("body *:not('#Test')").bind('mousedown', function() { alert("ok"); })})</script><div id="Test">AAAA</div><br><br><br><div>BBBB</div></body></html> 确实好用了,但是还是不明白为什么加上body就可以了,请赐教。 这样写还是有点问题,就是点击空白的时候,还是不会执行。。其实我是想“在页面不管点击什么,都会隐藏一个div,除了点击div自己才不会显示。有点晕!! 你要想清楚一件事 你给所有的元素包括空白绑定一个事件的时候div也好div后面的body也好,都被绑定了这个方法你点这个div没触发事件,但是他后面的body触发了。所以你禁用冒泡就OK乐 $(document).ready(function(){ $("*").bind('mousedown', function() { if(this.id == "Test") return false; alert("ok"); return false; })})这2个return false一定要的~你在alert("ok");地方插入你要的代码 谢谢大侠,终于明白了,但是还有个小疑问,第二个return false;有什么用呢,我试了删除第二个也可以 大虾,我还是没懂第二个return false 的含义,不加上会弹出两次alert,为什么会这样。 说了 是防止事件冒泡的啊如果你不return false 这个外面的element也会触发事件 同问。为什么要有第二个return false啊 谁有jqgrid的例子 IE6使用attachEvent绑定事件,事件函数内部的this指向什么对象? 如何实现这样的功能? 请问如何用JS刷新其它页面 怎么屏蔽键盘上向下按键 网页另存为excel文件,怎样不让客户直接下载该文件而不是在excel中打开? 如何限制文本输入框只能输入字母、数字、中文、单引号? 关于网页浏览的问题 正则表达式? 怎样用js修改div里标签的样式 SetTimeOut为什么不起效果 请教window.open传值问题
});
//your function........
})
<body>
<script src="./jquery-1.4.2_mine.js" type="text/javascript"></script>
<script>$(document).ready(function(){
$("*:not('#Test')").bind('mousedown', function() {
alert("ok")
})
})
</script>
<div id="Test">AAAA</div>
<br><br><br>
<div>BBBB</div>
</body>
</html>试过了不好用!!
<body>
<script src="./jquery-1.4.2_mine.js" type="text/javascript"></script>
<script>$(document).ready(function(){
$("body *:not('#Test')").bind('mousedown', function() {
alert("ok");
})
})
</script>
<div id="Test">AAAA</div>
<br><br><br>
<div>BBBB</div>
</body>
</html>
其实我是想“在页面不管点击什么,都会隐藏一个div,除了点击div自己才不会显示。
有点晕!!
div也好div后面的body也好,都被绑定了这个方法
你点这个div没触发事件,但是他后面的body触发了。所以你禁用冒泡就OK乐
$(document).ready(function(){
$("*").bind('mousedown', function() {
if(this.id == "Test") return false;
alert("ok");
return false;
})
})
这2个return false一定要的~
你在alert("ok");地方插入你要的代码
谢谢大侠,终于明白了,但是还有个小疑问,第二个return false;有什么用呢,我试了删除第二个也可以
如果你不return false 这个外面的element也会触发事件