`
towaywu
  • 浏览: 14761 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

常见的JAVASCRIPT onmouseout事件问题

阅读更多

问题:

我们在使用onmouseout事件的时候,经常会出现诡异现象,达不到自己预期的效果!

比如以下示例:

图01

图02

当鼠标点击"列表"域时如图01,显示所有列表如图02,鼠标离开所有列表域时,又返回图01效果.如果按照平常我们直接插入节点,删除节点的思维的话,不同浏览器将会出现不同的效果,达不到预期的效果!在火狐浏览器中,鼠标移到该节点的子节点中时,也会调用mouseout事件,这就是我们不想遇到的!IE中时通过的!

那有上面解决办法呢?在事件中,有这么一个属性relatedTarget,ie中对应的是toElement(鼠标所在当前节点,指向到下一个鼠标所在节点:这样理解可能有点抽象!直接看下面的代码!)

以下代码我们是在FIRFOX中测试通过的 ,IE中就用toElement试试看

提示:"其中很多问题都是自己可以去理解和解决的,在javascript中我们可以把EVENT该对象打印出来所有的属性,看看里面的属性值,然后理解该属性的作用!会对你有很大帮助的!"

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
  5. <title>onmouseout问题解决</title>
  6. <style>
  7. *{margin:0;padding:0;}
  8. .tdiv{background:#C90;width:200px;}
  9. .slist{width:200px;height:200px;background:#0C0;}
  10. .show{display:block;}
  11. .hidden{display:none;}
  12. </style>
  13. </head>
  14. <body>
  15. <divclass="tdiv"onclick="tover(event)">列表</div>
  16. </body>
  17. <scripttype="text/javascript">
  18. <!--
  19. functiontover(e){
  20. vardiv=document.getElementsByTagName("div")[0];
  21. varreval="";
  22. reval+="<divclass=\"slist\"onmouseout=\"tout(this,event)\">";
  23. reval+="<ul>";
  24. reval+="<li>列表01</li>";
  25. reval+="<li>列表02</li>";
  26. reval+="</ul>";
  27. reval+="</div>";
  28. div.parentNode.innerHTML+=reval;
  29. //alert(e.cancelable);
  30. e.preventDefault();
  31. e.stopPropagation();
  32. }
  33. functiontout(obj,e){
  34. if(e.relatedTarget===e.currentTarget.parentNode){
  35. obj.parentNode.removeChild(obj);
  36. }
  37. }
  38. -->
  39. </script>
  40. </html>

分享到:
评论

相关推荐

    javascript onmouseout 解决办法.docx

    javascript onmouseout 解决办法.docx

    javascript onmouseout 解决办法

    onmouseout 发现它的触发太敏感,当经过层内文字链时,即触发onmousetout事件,功能不能正常显示,经过一番搜索,整理出来,供大家参考。 1、 代码如下: [removed] function test(obj, e) { if (e.currentTarget) { ...

    javaScript常用事件

    常用javaScript事件归纳。 常用事件: 1.onclick 鼠标单击事件 通常在下列基本对象中产生: button(按钮对象) checkbox(复选框)或(检查列表框) radio (单选钮) reset buttons(重要按钮) submit ...

    JavaScript基础教程第8版

    8.2.5 onmouseout事件 163 8.2.6 ondblclick事件 164 8.2.7 onclick事件 165 8.3 表单事件处理 165 8.3.1 onsubmit事件 165 8.3.2 onreset事件 165 8.3.3 onchange事件 166 8.3.4 onselect事件 166 ...

    【JavaScript源代码】JavaScript实现表格动态变色.docx

    for循环遍历,将每行都分别绑定onmouseover、onmouseout事件, onmouseover(鼠标经过)- - - 该行类名赋值定义好的背景颜色类名 onmouseout(鼠标离开)- - - 该行类名赋值空  注意:这里不用排他思想,用

    JavaScript语言参考手册

    这一章包含了在 JavaScript客户端用于激发某些特定动作的事件对象和事件句柄。另外,本章还包括了关于使用事件和事件句柄的常规信息。 关于事件常规信息 定义事件句柄 Navigator 4.0 中的事件 event onAbort onBlur ...

    JavaScript事件列表解说

    事件 浏览器支持 解说 一般事件 onclick IE3、N2 鼠标点击时触发此事件 ...onmouseout IE4、N3 当鼠标离开某对象范围时触发此事件 onkeypress IE4、N4 当键盘上的某个键被按下并且释放时触发此事件. onk

    javascript event 事件解析

    比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。 例子 下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转。 &lt;HTML&gt; &lt;HEAD&gt;&lt;TITLE&...

    JavaScript动态添加事件之事件委托

    先给大家讲下什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。 也就是:...

    【JavaScript源代码】javascript实现放大镜功能.docx

    技术要点:事件捕捉和定位 难点:计算  涉及技术  onmouseover:当鼠标指针移动到指定的对象上时发生 onmouseout:鼠标指针移出指定对象时发生 onmousemove:鼠标指针移动时发生 offsetLeft | offsetTop | ...

    使用JavaScript动态设置样式实现代码(2)

    使用onmouseover和onmouseout事件实现不同的效果而且是使用js动态实现,本文有利于巩固你js与css方面的知识,感兴趣的你可以了解下哦,希望本文对你有所帮助

    JavaScript笔记.doc

    4、图像切换(onMouseOver、onMouseOut) 11 5、接收键盘输入(keyPress事件): 12 6、用鼠标点亮文本 12 五、处理图像与动画 13 1、图片数组: 13 2、IE中的结构化图形控件 14 3、Web页面中定位图像 15 4、图像映像 15...

    javascript 多浏览器 事件大全

    一般事件 事件 浏览器支持 描述 onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 ...onMouseOut IE4|N3|O3 当鼠标离开某对象范围时触发的事件 onKeyPress IE4|N4|O 当键盘上的

    javascript中window.event事件用法详解

    前两天写程序时因为要用到javascript中的window.event事件,于是就在网上搜了一下,终于找到一篇不错的文章,来与大家分享下: 描述 event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等...

    Javascript数组操作高级心得整理

    (6) JavaScript 计时事件 13 10. 异常处理Try...Catch 语句 14 (1) 异常处理格式 14 (2) 例子 14 (3) Throw声明 14  Throw语法 14  例子 14 (4) onerror事件 14  onerror事件功能 14  语法 14  例子 14 11...

    JS 事件绑定、事件监听、事件委托详细介绍

    在JavaScript的学习中,我们经常会遇到JavaScript的事件机制,例如,事件绑定、事件监听、事件委托(事件代理)等。这些名词是什么意思呢,有什么作用呢? 事件绑定 要想让 JavaScript 对用户的操作作出响应,首先...

    javascript中onmouse事件在div中失效问题的解决方法

    在IE下解决问题很简单,用onMouseEnter、onMouseLeave来代替onMouseOver、onMouseOut就行了,他们的作用基本相同,但前者不会发生冒泡(如果用 jQuery的event事件,只要绑定mouseleave、mouseenter即可)。...

    javascript中event详解

    event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。 event对象只在事件发生的过程中才有效。...比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义......

    JavaScript权威指南

    JavaScript权威指南 犀牛书 Chapter 1. Introduction to JavaScript Section 1.1. JavaScript Myths Section 1.2. Versions of JavaScript Section 1.3. Client-Side JavaScript Section 1.4. JavaScript ...

Global site tag (gtag.js) - Google Analytics