Javascript onmouseout问题解决方案
我们预期只有当鼠标从div中移开的时候才会触发onmouseout事件,可是,事实上,当我们移到div中的元素时就会触发onmousout事件。也就是说,移到对象的子对象上,也算onmouseout了。这往往会让我们预期的效果达不到。此方法可解决这个问题。
<script type="text/javascript">
function test(obj, e) {
if (e.currentTarget) {
if (e.relatedTarget != obj) {
//e.relatedTarget为event的相关节点
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)" style="width:100px;height:100px;border:1px #666 solid"><span style="margin:5px;width:100%;height:100%;border:1px #ff0000 solid">faddsf</span></div></body></html>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LLorJJ999/archive/2009/10/29/4741232.aspx
分享到:
相关推荐
### JavaScript `onmouseout` 解决方案详解 #### 引言 在前端开发中,我们经常需要处理用户与页面元素之间的交互行为。其中一种常见的需求是当用户的鼠标移出某个元素时,执行特定的操作,比如隐藏一个提示框或者...
为了解决`onmouseout`事件的敏感性问题,可以通过编写一些额外的JavaScript代码来控制事件的触发。具体方法可以分为以下几点: 1. 验证目标元素是否真的离开了触发事件的元素。这可以通过`event.currentTarget`和`...
### JavaScript 下关于 `onmouseout` 与事件冒泡的问题经验小结 ...无论是使用 jQuery 还是原生 JavaScript,都有多种方法可以解决由 `onmouseout` 事件引发的问题。希望本文能为您的开发工作带来帮助。
这种方法不仅适用于 IE6,也可以作为通用解决方案用于其他不支持 `:hover` 的浏览器环境中。此外,为了兼容不同的浏览器环境,还增加了对 `addEventListener` 的支持,确保代码在现代浏览器中也能正常运行。
JavaScript代码在不同的浏览器上可能表现不一,因此在编写特效时,需要注意使用跨浏览器的解决方案,例如使用`jQuery`等库,或者利用`feature detection`来确保代码在各种环境下都能正常工作。 7. **异步加载和...
这个方法虽然有效,但需要注意的是,它依赖于JavaScript,如果用户禁用了JavaScript,此解决方案将不会工作。在现代网页开发中,可以使用渐进增强或优雅降级策略,为不支持JavaScript的浏览器提供基础样式,同时利用...
- **项目案例**:实际应用JavaScript解决问题的例子,如Pizza服务和欧元计算器。 - **定制化**:根据需求调整代码以满足特定场景。 #### 十四、保留关键字 - **JavaScript保留词**:不能作为变量或函数名使用的...
本文探讨了在使用JavaScript处理鼠标事件时,在div元素中可能会遇到的onmouseout事件失效的问题,并提供了兼容IE和Firefox两种浏览器的解决方案。在探讨之前,需要了解几个基础知识点: 1. JavaScript事件冒泡:当...
为实现跨浏览器兼容的解决方案,可以使用`onmouseover`和`onmouseout`,并通过检查事件的`relatedTarget`或IE特有属性`fromElement`和`toElement`来模拟`onmouseenter`和`onmouseleave`的行为。下面的示例代码展示了...
### IE6中的`li:hover`问题及解决方案 #### 背景介绍 早期浏览器的兼容性问题一直是前端开发者面临的一大挑战。特别是在Internet Explorer 6(简称IE6)中,由于其对CSS支持的限制,很多现代网页设计效果都无法正常...
- **DOM**:存在一些兼容性问题,但通常可以通过条件判断或使用第三方库解决。 - **BOM**:由于浏览器差异较大,兼容性问题较为常见。 3. **变量类型** - JavaScript 是一种**弱类型**语言,变量类型可以通过 `...
本文将探讨几个这样的问题及其解决方案。 首先,我们来看第一个问题:匹配错误。在HTML中,字符串常量通常使用单引号或双引号来包围。在示例代码中,开发者使用双引号定义`<input>`元素的`onmouseover`属性,而内部...
- **解决方案二**:自定义事件添加方法`addEvent`,通过存储旧的事件处理函数,保证多个函数依次执行。但是,直接将`on`属性设为`null`会删除所有事件处理函数。 ### 5. 解决方案二的改进版 - 使用`__EventID`为每...
本文主要探讨了利用CSS技术实现下拉菜单的实践方法,并针对IE6.0等早期浏览器存在的兼容性问题,提出了解决方案。 **1. CSS技术与下拉菜单** CSS(层叠样式表)是一种用于定义网页元素样式和布局的语言,它可以将...
学习JavaScript特效,可以从MDN Web文档、W3School、教程网站如Codecademy等获取基础知识,参考开源项目和代码库(如GitHub)学习实践案例,参与社区讨论(如Stack Overflow)解决实际问题。 通过以上讲解,我们...
为解决这个问题,文档中提供了两种解决方法: **解决方法一:使用jQuery处理事件** 文档首先提供了一种使用jQuery库的方法。jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互...
在前端开发中,鼠标经过效果是一个非常常用的交互效果,然而不同的浏览器对其支持的方式不同,这就需要我们使用不同的方法来解决这个问题。 首先,让我们来了解一下onmouseover和onmouseout事件。onmouseover事件是...