日期:2014-05-16 浏览次数:20366 次
<script> $(".test").mouseover( function(e){ alert(e.target.nodeName) }); }) </script> <style type="text/css"> .test{float:left;width:500px;height:300px;border:1px solid #bfbfbf;} .test ul{ list-style:none; float:left;width:200px;height:150px;border:1px solid #bfbfbf;} .test ul li{ list-style:none;width:100px;height:80px;border:1px solid #ff9900;margin:30px;} </style> <div class="test"> <ul> <li>asdfasfd</li> </ul> </div>
------解决方案--------------------
如果把一个tr中的td全部去掉,只是写一些东西在tr里面,那么alert(e.target.nodeName),这句话弹出的为空,这个是什么情况?难道tr不算是一个HTML元素,不可能吧,期待大神的解释~~~
------解决方案--------------------
建议楼主去看看这篇文章http://nuysoft.iteye.com/blog/1198058看完你就懂了
------解决方案--------------------
呵呵,你要是在给tr绑定事件以外,再单独给td绑定个同样的事件,但return false,估计就不会了
比如:
$("table tr td").mouseover( function(e){ return false; });
------解决方案--------------------
只是jquery的事件而已
mouseenter将只在进入的第一次生效,不像onmouseover一样,移来移去的还能触发
------解决方案--------------------
用onMouseEnter、onMouseLeave来代替onMouseOver、onMouseOut,他们的作用基本相同,前者不会发生冒泡。
------解决方案--------------------
看看这篇啊有帮助
http://techbbs.zol.com.cn/1/9_1913.html###