<html>
<head>
<title></title>
<style type="text/css">
*{font-size:12px;color:#666666;}
ul{list-style-type:none;margin:0;padding:0;}
#log{border:1px solid #e9e9e9;height:240px;width:120px;position:absolute;right:0;top:0;overflow:scroll;}
</style>
</head>
<body>
<div id="log"></div>
<ul>
<li id="test"><a href="#">test</a>
<ul>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
</ul>
</li>
</ul>
<script type="text/javascript">
document.getElementById("test").onmouseover=function(event){
var evt=window.event||event;
document.getElementById("log").innerHTML+=evt.type+"<br />";
}
</script>
</body>
</html>我只是给上面一个li绑定了onmouseover啊,为什么在子元素里面移动也会重复触发?
解决方案 »
- 谁用过,用jquery写的SlickGrid的表格控件
- 小弟求助 JS计算器BUG
- 有谁知道window["gIsText"]的意思?--急~>_<~
- 如何用Javascript实现页面内容不能选择
- 如何将一个二进制数转换成10进制数
- 如何让按钮或图片按钮点击后成为当前页??????
- js中有关将type为text设置为disabled后的问题,谢谢大家!
- 高分求助:請問如何突破該JS日歷程序的時間選擇限制?
- 找编辑器!(大家来拿分)
- js中的match函数方法返回的不是数组吗?
- 关于jsp页面中,js代码写在哪个位置的问题。
- javascript:setTimeout()和setinterval()函数是什么?
<ul>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
</ul>
</li>在这整个元素内都会触发你定义的事件。
http://www.iteye.com/topic/1114741
http://www.mangguo.org/javascript-events-order-bubbling-and-capture/
<html>
<head>
<title></title>
<style type="text/css">
*{font-size:12px;color:#666666;}
ul{list-style-type:none;margin:0;padding:0;}
#log{border:1px solid #e9e9e9;height:240px;width:120px;position:absolute;right:0;top:0;overflow:scroll;}
</style>
</head>
<body>
<div id="log"></div>
<ul>
<li id="test"><a href="#">test</a>
<ul>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
<li>3424234</li>
</ul>
</li>
</ul>
<script type="text/javascript">
document.getElementById("test").onmouseover=function(event){
var evt=window.event||event;
var s = evt.fromElement || evt.relatedTarget;
if( document.all ){
if( !(s == this || this.contains(s)) ){
document.getElementById("log").innerHTML+=evt.type+"<br />";
}
}else{
var res= this.compareDocumentPosition(s) ;
if( !(s == this || res == 20 || res == 0 ) ){
document.getElementById("log").innerHTML+=evt.type+"<br />";
}
}
}
</script>
</body>
</html>参考
http://hi.baidu.com/tnzzjh/blog/item/9ef8f8cf8625b129f9dc61d8.html
document.getElementById("test").onmouseover=function(event){
var evt=window.event||event;
// 来源dom
evt.relateTarget = evt.fromElement || evt.relateTarget;
var fromEl = evt.relateTarget;
// 如果是从BODY滑入的
if(fromEl.tagName == "BODY") {
document.getElementById("log").innerHTML+=evt.type+"<br />";
}
}
</script>