`
towaywu
  • 浏览: 15033 次
  • 性别: 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》——event对象与事件

    * onmouseover 和 onmouseout 事件的使用:这两个事件通常都是配合着使用,表示对一个对象的状态改变的两种最常见情形。 通过本节教学,学生将掌握 Event 对象的属性和方法,并能正确地使用 Event 对象来处理用户的...

    javascript:onmouse事件大全

    * onMouseOut:当鼠标离开某对象范围时触发的事件 * onKeyPress:当键盘上的某个键被按下并且释放时触发的事件 * onKeyDown:当键盘上某个按键被按下时触发的事件 * onKeyUp:当键盘上某个按键被按放开时触发的事件 ...

    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大全

    _event 对象是 JavaScript 中的一个重要概念,它代表事件的状态,例如触发 event 对象的元素、鼠标的位置及状态、按下的键等等。event 对象只在事件发生的过程中才有效。event 的某些属性只对特定的事件有意义。例如...

    兼容ie和firefox的鼠标经过(onmouseover和onmouseout)实现--简短版

    在这个示例中,我们使用了JavaScript来捕捉onmouseover和onmouseout事件,并更改表格的背景颜色。在IE浏览器中,这个方法可以正常工作,而在Firefox浏览器中,我们可以使用CSS的:hover伪类来实现同样的效果。 这个...

    javascript event 事件解析

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

    javascript试题及答案.docx

    JavaScript 试题及答案 本文档提供了 JavaScript 相关试题及答案,涵盖了 JavaScript 的基础知识点,包括函数、...onmouseout 事件将在鼠标移出图片时触发,执行 src=‘s1.jpg’,将图片的 src 属性设置为 s1.jpg。

    简单的Javascript实训4.doc

    这里,我们使用了 `onmouseover` 和 `onmouseout` 事件来响应鼠标悬停和离开事件,并使用 Javascript 函数 `mouseOver()` 和 `mouseOut()` 来改变图片的源 URL。 二、计时器 Javascript 中的计时器可以用来实现...

    javascriptEvent对象详解定义.pdf

    在 JavaScript 中,Event 对象是事件状态的代表,它包含了事件发生的元素、键盘状态、鼠标位置和鼠标按钮状态等信息。一旦事件发生,浏览器的内存中就会生成相应的 Event 对象,如单击一个按钮。Event 对象只在事件...

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

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

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

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

    响应鼠标变换表格背景或者颜色的代码

    在上面的代码中,我们使用了 JavaScript 的 onMouseOver 和 onMouseOut 事件处理函数来实现鼠标变换表格背景或者颜色的效果。这些事件处理函数可以被应用于各种 HTML 元素上,以达到不同的交互效果。 在实现响应...

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

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

Global site tag (gtag.js) - Google Analytics