$(document).ready(function() {
// Click event on body hide the element
$("body").click(function() {
$("#element").hide("fast");
});
// Click event on button show the element
$("#button").click(function() {
$("#element").show("fast");
event.stopPropagation();
});
}
$(document).ready(function() {
// Click event on body hide the element
$("body").click(function(event) {
$("#box").hide(600);
event.stopPropagation();
});
// Click event on button show the element
$("#btn1").click(function(event) {
$("#box").show(600);
event.stopPropagation();
});
});
6 回答
你可以尝试下面的东西 -
使用event.stopPropagation()可防止事件冒泡DOM树,从而阻止任何父处理程序收到事件通知 .
jQuery
见演示:http://jsfiddle.net/MX4xA/
只是一个简单的例子 . 未经测试 . 除非你提供更多信息,否则不能给予更多 .
HTML:
JS:
根据artwl的回答,您将需要使用event.stopPropagation()来防止事件冒泡DOM树 .
在这里,我为上述问题做了完整的垃圾箱 .
DEMO: http://codebins.com/bin/4ldqp9s
每当你使用语句event.stopPropagation();在jquery函数中,你必须将事件变量定义为函数参数,然后它将被视为事件对象变量,并且它工作正常 .
HTML:
CSS:
JQuery:
DEMO: http://codebins.com/bin/4ldqp9s