在body上设置了事件onmouseup,再在DIV上设置事件onmouseup,这样两个事件会同时执行,如何只执行div的事件 在body上设置了事件onmouseup,再在DIV上设置事件onmouseup,这样两个事件会同时执行,如何只执行div的事件div之外点击时,再触发body的onmouseup事件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以在body的onmouseup中判断出发事件的DOM节点function handlebodyEvent(event){var objif (document.all){ obj = window.event.srcElement; }else{ obj = event.target;}if (event == div){ return;}.....} function handlebodyEvent(event) { var obj if (document.all) { obj = window.event.srcElement; } else { obj = event.target; } if (obj.id == div.id) //纠正一下{ return; } ..... } 取消事件冒泡<!DOCTYPE html ><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>取消冒泡</title><script type="text/javascript">function onClick(oEvent){ alert("div"); if(window.event){ window.event.cancelBubble = true; }else{ oEvent.stopPropagation(); }}</script></head><body onclick="alert('body');"><div id="div1" onclick="onClick(event)">flkdjas;fldkjsa;fdsjf;lkdjsa;fdsa</div>body</body></html> 在FF下要传,如果是IE Only 可以去掉 两次执行都是window.event是true 这样的话<!DOCTYPE html ><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>取消冒泡</title><script type="text/javascript">function onClick(oEvent){ if(window.event){ window.event.cancelBubble = true; alert("1"); }else{ oEvent.stopPropagation(); alert("2"); }}</script></head><body onclick="onClick(event);"><div id="div1" onclick="onClick(event)">flkdjas;fldkjsa;fdsjf;lkdjsa;fdsa</div>body</body></html>你再帮忙改改 你页面也是这样,body和div调用同一个函数?要是这样就改成:<!DOCTYPE html ><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>取消冒泡</title><script type="text/javascript">function onClick(oEvent){ oEvent = oEvent || window.event; var target = oEvent.target || oEvent.srcElement; if(target == document.body){ alert("body"); }else{ alert("div"); if(window.event){ window.event.cancelBubble = true; }else{ oEvent.stopPropagation(); } }}</script></head><body onclick="onClick(event);"><div id="div1" onClick="onClick(event)">flkdjas;fldkjsa;fdsjf;lkdjsa;fdsa</div>body</body></html> 做无刷新登陆并同时发布评论时遇到的问题 像下面网页中左边的菜单是如何实现的?网址是: 如何让一个页面全部执行完后再触发莫个脚本?? img_re = new RegExp("-");这个是什么意思? 怎么样实现post方式把参数传递到window.open新开页面中(不用get,是因为我传递参数容量太大)??? 在Mozilla下怎样实现Alpha blending效果? 动态表格控件 onselectstart的问题 请问编写调试JavaScript用什么软件比较好? jquery如何随机向li添加文字内容? this关键字疑惑 怎样指向当前对象
function handlebodyEvent(event)
{
var obj
if (document.all)
{
obj = window.event.srcElement;
}
else
{
obj = event.target;
}
if (event == div)
{
return;
}
.....
}
{
var obj
if (document.all)
{
obj = window.event.srcElement;
}
else
{
obj = event.target;
}
if (obj.id == div.id) //纠正一下
{
return;
}
.....
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>取消冒泡</title>
<script type="text/javascript">
function onClick(oEvent){
alert("div"); if(window.event){
window.event.cancelBubble = true;
}else{
oEvent.stopPropagation();
}
}
</script>
</head>
<body onclick="alert('body');">
<div id="div1" onclick="onClick(event)">flkdjas;fldkjsa;fdsjf;lkdjsa;fdsa</div>
body
</body>
</html>
window.event是true
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>取消冒泡</title>
<script type="text/javascript">
function onClick(oEvent){
if(window.event){
window.event.cancelBubble = true;
alert("1");
}else{
oEvent.stopPropagation();
alert("2"); }
}
</script>
</head>
<body onclick="onClick(event);">
<div id="div1" onclick="onClick(event)">flkdjas;fldkjsa;fdsjf;lkdjsa;fdsa</div>
body
</body>
</html>你再帮忙改改
要是这样就改成:<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>取消冒泡</title>
<script type="text/javascript">
function onClick(oEvent){
oEvent = oEvent || window.event;
var target = oEvent.target || oEvent.srcElement;
if(target == document.body){
alert("body");
}else{
alert("div");
if(window.event){
window.event.cancelBubble = true;
}else{
oEvent.stopPropagation();
}
}
}
</script>
</head>
<body onclick="onClick(event);">
<div id="div1" onClick="onClick(event)">flkdjas;fldkjsa;fdsjf;lkdjsa;fdsa</div>
body
</body>
</html>