`
- 浏览:
75341 次
- 性别:
- 来自:
杭州
-
IE6/7下面mouseover和mouseout鼠标事件的一些问题
一.概述
1.在IE6下面使用mouseover和mouseout事件时,如果被注册事件的元素下面有一些子元素,这时候如果鼠标在当前元素的子元素上滑动时,鼠标的事件也会被触发,我们就是想阻止这个中情形下面鼠标事件的触发。
2.使用了mouseleave之后为什么鼠标没有移出元素区域,但是事件依然响应了呢?
二.问题的解释
1.对于第一个问题,可以解释为是IE下面的一个BUG,目前尽量不要使用mouseover和mouseout事件,用mouseenter和mouseleave事件来代替这两个事件,可以防止上面问题的出现。
2.遇见第一个问题之后,采用了mouseleave事件,但是我的效果还是没有达到,在IE6/7下面依然出现鼠标还没有移出去,但是事件却触发了,仔细看了看触发事件的原因是被这个元素盖住的元素下面的一些元素注册了鼠标移动上去的事件,由于当前元素的背景是透明的,导致下面元素的事件可以在当前元素的上移动鼠标时被触发,这样当前元素的鼠标滑出事件也就被触发了。解决的方法是设置当前元素的背景,把当前元素变成非透明的就可以了。
3.关于事件冒泡,加入一个div我们注册了click事件,然后在这个div内部又有一个嵌套的div我们也注册了click事件,这时候如果我们点击内部的div之后,不仅会触发内部div元素的click事件,也会触发外部div的click事件,这就是所谓的事件冒泡,当前可以在内部元素的事件回调函数中去阻止事件的派发,防止出现事件冒泡。在平时开发的过程中要注意一下这一点。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在JavaScript中,mouseover和mouseout事件是常用的事件,它们分别在鼠标指针进入和离开指定元素时触发。在事件处理中,区分鼠标指针是从子元素移入还是从父元素移出对于正确地触发相应的事件非常关键。本文详细探讨...
为了解决跨浏览器的`mouseover`和`mouseout`事件冒泡问题,开发者们采用了各种方法。例如,可以利用W3C标准中的`relatedTarget`属性来获取与事件相关的元素。`relatedTarget`属性在`mouseover`事件触发时指向鼠标...
IE使用onmouseover和onmouseout事件,而NETSCAPE使用mouseover和mouseout事件。这两种浏览器的鼠标事件处理机制不同,需要使用不同的方法来处理鼠标事件。 对键盘和鼠标事件的处理是JavaScript编程中不可或缺的一...
`mouseenter`和`mouseleave`事件与`mouseover`和`mouseout`类似,但有一些关键的区别。`mouseover`和`mouseout`在鼠标进入或离开元素及其子元素时都会触发,而`mouseenter`和`mouseleave`只在鼠标进入或离开元素本身...
在标准的Web开发中,`mouseover`和`mouseout`事件是用于检测鼠标进入和离开元素的重要工具。当鼠标从一个元素移动到另一个元素(包括其子元素)时,`mouseout`事件通常不会被触发。然而,在IE浏览器中,这个行为在...
click/dbclick/mouseover/mouseout 2.HTML事件: onload/onunload/onsubmit/onresize/onchange/onfoucs/onscroll 3.键盘事件: keydown:键盘按下时触发 keypress:键盘按下并抬起的瞬间触发。 keyup:...
- `mouseout`:鼠标指针离开元素区域时触发。 - `mousemove`:鼠标在元素区域内移动时持续触发。 - `contextmenu`:右键单击元素时触发,可以用来阻止默认的右键菜单。 3. **事件对象** - 每个事件都会携带一个...
7. `mouseout`:当鼠标指针离开元素区域时触发,通常与`mouseover`事件配合使用以恢复初始状态。 8. `mousemove`:当鼠标在元素区域内移动时连续触发,可用于绘制、拖放等操作。 在DOM2.0中,W3C对鼠标事件进行了...
7. **`mouseout`**:当鼠标指针从元素上移开时触发此事件。 8. **`mousemove`**:当鼠标指针在元素内部移动时持续触发此事件。 这些事件之间的关系可以概括为:`mousedown` -> `mouseup` -> `click`。也就是说,一...
总结来说,JavaScript和JQuery处理鼠标事件冒泡时,关键在于理解`mouseenter`、`mouseleave`这类不冒泡的事件,以及`mouseover`、`mouseout`这类会冒泡的事件之间的区别。在实际应用中,合理使用`stopPropagation()`...
在这个案例中,JavaScript负责监听用户的鼠标事件(mouseover和mouseout),并根据这些事件改变图片的大小。 2. **DOM操作**:Document Object Model (DOM)是HTML和XML文档的结构表示,JavaScript通过DOM API可以...
1. **事件监听**:首先,我们需要监听鼠标的`mouseover`和`mouseout`事件。`mouseover`事件在鼠标进入元素范围时触发,`mouseout`事件则在鼠标离开元素时触发。此外,我们还需要监听`mousemove`事件来获取鼠标的当前...
接下来,我们将使用jQuery来监听图片的`mouseover`和`mouseout`事件: ```javascript $(document).ready(function() { $('#hover-image').mouseover(function() { var imgDesc = '这是图片的描述'; // 替换为实际...
JavaScript中的鼠标事件包括了多个不同类型的事件,如mousedown、mouseup、click、dblclick、mousemove、mouseover和mouseout等,这些事件的熟悉和应用对于开发交互性网站界面至关重要。 在第九章中,作者首先介绍...
`mouseover`事件是当鼠标指针进入元素范围时触发的事件,而`mouseout`事件则是在鼠标离开元素时触发。我们可以利用这两个事件来控制图片的行为。 ```javascript $(document).ready(function() { // 选择需要应用...
为解决这个问题,可以使用CSS3的transition属性来平滑过渡颜色变化,或者在JavaScript中引入短暂的延迟(如setTimeout)来确保mouseout事件在鼠标真正离开后才执行。 总结来说,处理JS浏览器兼容问题时,我们需要...
通常,hover事件结合了mouseover和mouseout两个动作。然而,在旧版本的Internet Explorer(IE)浏览器中,使用hover事件时可能会遇到一个问题,即鼠标快速移动到触发下拉菜单时,菜单项会不停闪烁。这通常是由于...
`relativeTarget`属性通常用于`mouseover`和`mouseout`事件中,它表示鼠标进入或离开的元素。 `mouseenter`和`mouseover`事件的区别在于,`mouseenter`事件不会在事件源元素的子元素之间移动时触发,而`mouseover`...