javascript onmouseout 解决办法

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 class="STYLE19">更多此人的...</b>
<a class="STYLE8" >留言板</a>
<a class="STYLE8" >好友</a>
<a class="STYLE8"></a>
</div>

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
注册ga后,ga就会生成一段js脚本,很多人直接把这段js复制到body的最后面就完事(包括 博客园、CSDN、BlogJava)。可是ga自动生成的这段JS真的就是最合理的吗? 哪怎么样才算是合理,怎样才是不合理了?因ga只是1个分析工具,它的使用绝对不能影响到我们的程序,如果影响了,则是不合理的。不影响则是合理的。 目前ga的使用: 先看看ga自动生成的js脚本,如下: 复制代码 代码如下: script type="text/javascript" var gaJsHost = (("https:"
网页得来,原网页广告太多,影响心情 复制代码 代码如下: html head title检查是否为URL/title script language="javascript" function check(){ str = form1.txt.value; str = str.match(/http:\/\/.+/); if (str == null){ alert('你输入的URL无效'); return false; }else{ alert("你输入的URL有效"); return true; } }
方法说明: 以异步的方式读取文件内容。 不置顶内容编码的情况下,将以buffer的格式输出,如:Buffer 32 33 31 32 33 31 32 33 31 32 33 语法: 复制代码 代码如下: fs.readFile(filename, [encoding], [callback(err,data)]) 由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: filename 文件路径 options option对象,包含 encoding

javascript 三种编解码方式 - 2015-03-31 20:03:06

1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。 例如:script language="javascript"document.write('a href=#> 2、 进行url跳转时可以整体使用encodeURI 例如:Location.href=#> 3、 js使用数据时可以使用escape[Huoho.Com编辑] 例如:搜藏中history纪录。 4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下e
jquery 复制代码 代码如下: $(document).ready(function(){ $("ul li").hover(function(){ $(this).find("ul:first").show();//鼠标滑过查找li下面的第一个ul然后显示; },function(){ $(this).find("ul:first").hide();//鼠标离开隐藏li下面d的ul; }) $("ul li ul li ul").prev().addClass("bbb");//给li下面ul是aa
HTML部分代码: 复制代码 代码如下: ul li鼠标经过时改变背景色/li li鼠标经过时改变背景色/li li鼠标经过时改变背景色/li li鼠标经过时改变背景色/li /ul javascript部分代码: 当鼠标经过时,给li添加class="current"类,鼠标离开时,去除该类,达到改变背景色的目的 复制代码 代码如下: window.onload = function() { var lis = document.getElementsByTagName("li"); for (var i
length length 属性可返回字符串中的字符数目。 length 是根据字符串的UTF-16编码来获取长度的,空字符串长度为0。length 不可修改。 charAt() charAt() 方法可返回指定位置的字符。注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串。 stringObject.charAt(index) 参数index是必需的。表示字符串中某个位置的数字,即字符在字符串中的下标。字符串中第一个字符的下标是 0。如果参数 in
解决方法: 网上的答案经我验证都是不靠谱的,以后大家就知道了,Flexigrid在IE下不显示数据的处理方法是:指定一下Ajax请求数据的方式为Get方式 另外,flexigrid不是不可以使用“post”方式发送数据,而是“post”方式在IE下必须要有供post的数据,比如在分页的时候可以使用post方式,而在你没有什么数据要发送的话,一定要使用“get”方式,其它浏览器可能对这个要求不严格,而IE要求较严:
代码如下: 在ie下,貌似要改安全设置中的【对为标记为可安全执行脚本的ActiveX空间初始化并执行】那项 复制代码 代码如下: html head script type="text/javascript" var isIE = /msie/i.test(navigator.userAgent) !window.opera; function fileChange(target) { var fileSize = 0; if (isIE !target.files) { var filePath = t
当然方法有很多,不过个人认为通过判断一个元素是否为另一个元素的子元素是最简单的实现方式之一。 废话少说直接上方法: 复制代码 代码如下: function isParent (obj,parentObj){ while (obj != undefined obj != null obj.tagName.toUpperCase() != 'BODY'){ if (obj == parentObj){ return true; } obj = obj.parentNode; } return false; }