javascrip阻止事件冒泡的通用函数:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<div id="d">kkkkkkkkkk</div>
<li>aa</li>
<div>
<li>aa</li>
</div>
<script>
//阻止事件冒泡的通用函数
function stopBubble(e){
if(e&&e.stopPropagation){
e.stopPropagation();
}else{
window.event.cancelBubble=true;
}
}
//定位遍历所有DOM元素
var all=document.getElementsByTagName("*");
for(var i=0;i<all.length;i++){
all[i].onmouseover=function(e){
this.style.border="1px solid red";
stopBubble(e);
};
all[i].onmouseout=function(e){
this.style.border="0px";
stopBubble(e);
};
}
</script>
</body>
</html>
分享到:
相关推荐
事件冒泡和获取控件ID值是JavaScript事件处理中的两个重要概念,对于理解JavaScript事件模型以及创建交互式网页至关重要。以下是关于这两个概念的详细说明: 1. **事件冒泡** 事件冒泡是指事件开始时由最具体的元素...
这个事件处理函数的特点是它在每个对象上只会执行一次,类似于JavaScript的`addEventListener`方法的第三个参数为`once`时的效果。此外,它还提及了如何阻止浏览器的默认行为以及如何控制事件的冒泡。 1. **事件...
这种机制允许事件处理函数在任何层级的祖先元素上定义,从而可以实现一种通用的事件处理方式。例如,你可以为页面上的一个容器元素设置点击事件监听器,而这个容器包含许多子元素,这样当任何子元素被点击时,都会...
解决这个问题的一种通用方法是使用JavaScript的`event.stopPropagation()`方法,它可以阻止事件继续向上层元素传播。然而,由于不同浏览器的差异,需要编写兼容性代码来确保在所有浏览器中都能正确工作。例如,IE...
此外,通过`event.type`属性,可以编写通用的事件处理函数,以处理多种类型的事件。这在需要对一组元素应用相同逻辑时特别有用。 在IE和其他非DOM兼容的浏览器中,事件对象的处理方式略有不同,有时需要通过全局...
JavaScript中的事件冒泡是一种事件处理机制,当一个元素上的事件被触发后,这个事件不仅仅在当前元素上处理,还会传播到它的所有父元素,除非在这个过程中事件被明确地阻止。冒泡事件在Web开发中非常重要,因为它们...
在JavaScript中,我们经常需要控制事件冒泡的行为,以便让事件处理函数正确响应或者阻止不必要的事件传递。 对于事件冒泡的控制,我们可以通过调用事件对象的`stopPropagation()`方法来阻止事件继续传播。然而,...
JavaScript 动态添加事件是网页开发中常见的需求,主要用于实现交互功能。在不同的浏览器中,实现方式略有差异,主要涉及到IE浏览器与非IE浏览器的兼容性问题。以下是关于JavaScript动态添加事件的一些关键知识点: ...
在这个函数中,我们首先检查节点是否具有addEventListener方法,如果有,使用W3C标准方法来添加事件监听器,并通过指定第三个参数为false来表示我们添加的是冒泡阶段的事件监听器,因为IE不支持捕获阶段的事件监听器...
接着,使用$("#elementID").hover()方法监听元素的鼠标悬停事件,其中hover()函数接收两个参数,分别对应鼠标进入和离开元素时的回调函数。在这些回调函数中,我们可以使用.show()和.hide()方法来控制提示框的显示和...
本文详细介绍了JavaScript事件处理模型,重点讲述了Internet Explorer(IE)和Mozilla Firefox(火狐)这两款主流浏览器在添加和删除事件监听器方面的差异,以及提供了一个通用的解决方案,从而允许开发者能够编写...
为了确保代码在所有浏览器中都能正常工作,开发者通常会创建一个通用的事件绑定函数,如`addEvent`。这个函数会检查浏览器类型,然后根据浏览器特性选择合适的绑定方法。`addEvent`会为每个监听器生成唯一的标识符...
为了兼容W3C标准和IE浏览器,开发者们通常会创建一些通用的函数来添加和移除事件监听器。以下是一个示例函数,用于添加事件监听: ```javascript function addListener(element, eventName, handler) { if ...
11. **阻止事件冒泡和默认事件:** 阻止事件冒泡可以避免事件处理器被多个元素捕获,IE浏览器使用event.cancelBubble=true,而非IE浏览器使用event.stopPropagation()。阻止默认事件则是阻止元素的默认行为,例如...
这个方法同样接受三个参数,但第三个参数可选,表示是否阻止事件冒泡。对于这些浏览器,添加事件绑定的代码如下: ```javascript function bindForOthers(obj, type, fn) { obj.addEventListener(type, fn, false)...
- 封装事件委托:利用事件冒泡或捕获机制,减少事件监听器的数量,优化性能。 10. **Ajax请求** - 封装Ajax请求:包括XMLHttpRequest或Fetch API,处理异步数据交换,提供统一的接口。 以上这些封装代码涵盖了...
**停止冒泡通用方法:** 为了停止事件冒泡,我们可以使用event对象的stopPropagation()方法。这个方法属于W3C标准,因此兼容现代浏览器。但是,在旧版IE浏览器中,我们需要通过设置window.event的cancelBubble属性为...
- 事件冒泡与捕获:理解事件传播机制,如何阻止默认行为(`event.preventDefault()`)。 - 事件委托:利用事件冒泡,为父元素添加事件监听,处理子元素的事件。 5. **动画效果**: - CSS动画:利用`@keyframes`...
- **性能优化**:如果页面中有多个类似的交互需求,可以考虑封装一个通用的函数来管理这些事件,避免重复代码。 - **用户体验**:对于触摸设备,可能还需要处理触摸事件,确保在不同类型的设备上都能正常工作。 - **...