javascript onmouseout 解决办法_Javascript教程-查字典教程网
javascript onmouseout 解决办法
javascript onmouseout 解决办法
发布时间:2016-12-30 来源:查字典编辑
摘要:onmouseout发现它的触发太敏感,当经过层内文字链时,即触发onmousetout事件,功能不能正常显示,经过一番搜索,整理出来,供大...

onmouseout 发现它的触发太敏感,当经过层内文字链时,即触发onmousetout事件,功能不能正常显示,经过一番搜索,整理出来,供大家参考。

1、

复制代码 代码如下:

<script type="text/javascript">

function test(obj, e) {

if (e.currentTarget) {

if (e.relatedTarget != obj) {

if (obj != e.relatedTarget.parentNode) {

alert(1);

}

}

} else {

if (e.toElement != obj) {

if (obj != e.toElement.parentNode) {

alert(1);

}

}

}

}

</script>

<div onmouseout="test(this, event)">

<span>faddsf</span></div>

2、

复制代码 代码如下:

var LeaveFunext = function(t,f){for(var p in f){t[p]=f[p]} return t};

var IE = 'v' == 'v';

var contains = function(wrap,child){

if(IE) return wrap.contains(child);

while(child && typeof(child.parentNode) != "undefind"){

if(wrap == child) return true;

child = child.parentNode;

}

return false;

};

var LeaveFun = function(o){

var _o = typeof o =="string" ? document.getElementById(o) : o;

return this == window ? new LeaveFun(_o):LeaveFunext(_o, LeaveFun.prototype);

};

LeaveFun.prototype = {

mouseleave : function(fn){

if(IE){

this.attachEvent('onmouseleave',fn);

}else{

this.addEventListener('mouseout',function(e){

tar = e.relatedTarget;

if(!contains(this, tar)){

fn.call(this);

}

}, false);

}

return this;

}

};

//调用

LeaveFun('share_customerdiv').mouseleave(function(){document.getElementById('share_customerdiv').style.display ='none';})

3、最简单,但在部分系统上会有轻微闪烁。

复制代码 代码如下:

<div onmouseout="this.style.display='none'" onmouseover="this.style.display='block'" >

<b>更多此人的...</b>

<a >留言板</a>

<a >好友</a>

<a></a>

</div>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类