以下代码中的 alert() 应该是在 鼠标离开 divPromptBox 时才被执行,但是当鼠标碰到其中的 <a> <div> <span>都会被触发,网上翻了翻也没找到比较好的可以通用的解决方法,特来此一问。
------
<div id="divPromptBox" class="PromptBox" style="width: 50%;" onmouseout="alert('');">
<a href="#">...</a>
<div>...<div>
<span>...</span>
</div>
------
<div id="divPromptBox" class="PromptBox" style="width: 50%;" onmouseout="alert('');">
<a href="#">...</a>
<div>...<div>
<span>...</span>
</div>
解决方案 »
- 如何用JS直接获取sessionId?
- Jquery uploadify 文件上传限制个数
- 求一正则表达式
- 这段代码有的地方不知道什么意思?
- 请问怎么把<a href=zz>aa</a>加上target=_blank
- 关于 ActiveXObject("wscript.shell")方法
- 急急!求教如何固定工具栏的代码
- 十进制转二进制(负数的)的规则是什么。?
- 不用嵌入式框架,只在一个页面上,怎么做出嵌入式框架的JAVASCRIPT效果(就是在页面上的特定位置有水平和垂直滚动条)来?肯定要用到层。
- 询问怎样通过js增加和获得cookie
- 请sun领分
- 为什么在firefox里面显示不了flash,我安装的有插件啊
//一般用在鼠标或键盘事件上
if(e && e.stopPropagation){
//W3C取消冒泡事件
e.stopPropagation();
}else{
//IE取消冒泡事件
window.event.cancelBubble = true;
}
};<div id="divPromptBox" class="PromptBox" style="width: 50%;" onmouseout="alert('');stopBubble(this);">
<script>
if(typeof(HTMLElement)!="undefined")
HTMLElement.prototype.contains=function(obj)
{
if(obj==this)return true;
while(obj=obj.parentNode) if(obj==this) return true;
return false;
}
function doit(evt){
evt = window.event?window.event:evt;
var obj = evt.toElement || evt.relatedTarget
if(document.getElementById("divPromptBox").contains(obj)) return;
alert('');
}
</script>
<div id="divPromptBox" class="PromptBox" style="width:50%;background:#ccc" onmouseout="doit(event);">
<a href="#">... </a>
<div>... <div>
<span>... </span>
</div>