我正在尝试让这个鼠标工作,但我似乎在所有浏览器版本中表现得非常错误。我有类似的东西
<div id="foo" onMouseOut="makeHidden('foo');"><a href="somelink">Link Text</a></div>
当鼠标越过链接时我不想隐藏div,我认为它不会因为链接在div中而隐藏。在鼠标离开边界之前,我怎样才能使div保持可见状态。
答案 0 :(得分:2)
您可能希望查看使用jQuery http://jquery.com/
然后你可以这样写:
$("#foo").mouseenter( function(){makeHidden('foo');} );
$("#foo").mouseleave( function(){makeVisible('foo');} );
或者只是剪掉中间人
$("#foo").mouseenter( function(){$(this).css("visibility", "hidden");} );
$("#foo").mouseleave( function(){$(this).css("visibility", "visible");} );
答案 1 :(得分:0)
使用花哨的冒泡技巧。请参阅:http://jsfiddle.net/minitech/kZcCr/
如果mouseout
事件被应用于元素的子元素,您希望停止它的传播,如果我们要移入其中一个,您还想要取消父级的mouseout
儿童。这可以使用relatedTarget
或IE上的toElement
来完成。
答案 2 :(得分:0)
实际上我没有明白你的观点可能是这段代码会帮助你
<script type="text/javascript">
function abc(mylink){
document.getElementById('mylink').style.display = 'none';
}
功能abcd(mylink){
document.getElementById('mylink').style.display = 'block';
}