JavaScript阻止事件冒泡示例分享
作者:bea
之前遇到事件冒泡的问题,也去网上搜索了一番,结果大部分都是一样的代码,贴来用时也不太顺利。涉及到FF时,可以用 e.stopPropagation(); ,不知怎地我没用成功。不过我发现FF支持e.cancelBubble = true;的写法,经测试可行。就把代码贴在这里吧,省得以后到处找。IE以前版本的兼容性还没测试,用到时再完善吧。 代码如下: //取消事件冒泡 function stopBubble(e) { var evt = (e) ? e : win
之前遇到事件冒泡的问题,也去网上搜索了一番,结果大部分都是一样的代码,贴来用时也不太顺利。涉及到FF时,可以用 e.stopPropagation(); ,不知怎地我没用成功。不过我发现FF支持e.cancelBubble = true;的写法,经测试可行。就把代码贴在这里吧,省得以后到处找。IE以前版本的兼容性还没测试,用到时再完善吧。
代码如下:
//取消事件冒泡
function stopBubble(e) {
var evt = (e) ? e : window.event;//兼容FF
evt.cancelBubble = true; //evt.stopPropagation(); FF下阻止冒泡,据说可以用
};
另:
1、cancelBubble(HTML DOM Event 对象属性) :如果事件句柄想阻止事件传播到包容对象,必须把该属性设为 true。
2、stopPropagation(HTML DOM Event 对象方法):终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
3、 preventDefault(HTML DOM Event 对象方法)通知浏览器不要执行与事件关联的默认动作。
例子: function stopBubble(e) { if (e && e.stopPropagation) e.stopPropagation() else window.event.cancelBubble=true }
把这个stopBubble(e)函数放到你想要的阻止事件冒泡函数里面就可以阻止事件冒泡了
有用 | 无用
代码如下:
//取消事件冒泡
function stopBubble(e) {
var evt = (e) ? e : window.event;//兼容FF
evt.cancelBubble = true; //evt.stopPropagation(); FF下阻止冒泡,据说可以用
};
另:
1、cancelBubble(HTML DOM Event 对象属性) :如果事件句柄想阻止事件传播到包容对象,必须把该属性设为 true。
2、stopPropagation(HTML DOM Event 对象方法):终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
3、 preventDefault(HTML DOM Event 对象方法)通知浏览器不要执行与事件关联的默认动作。
例子: function stopBubble(e) { if (e && e.stopPropagation) e.stopPropagation() else window.event.cancelBubble=true }
把这个stopBubble(e)函数放到你想要的阻止事件冒泡函数里面就可以阻止事件冒泡了
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jQuery中queue()方法用法实例
- 浅谈JavaScript function函数种类
- nodejs中实现路由功能
- JavaScript异步加载浅析
- JavaScript设计模式之工厂方法模式介绍
- JavaScript设计模式之抽象工厂模式介绍
- JavaScript设计模式之单件模式介绍
- 理解javascript回调函数
- JavaScript设计模式之建造者模式介绍
- 如何编写高质量JS代码
- JavaScript设计模式之原型模式(Object.create与prototype)介绍
- javascript中定义类的方法汇总
- js数组的操作指南
- JavaScript设计模式之适配器模式介绍
- javascript+canvas制作九宫格小程序
- JavaScript设计模式之装饰者模式介绍
- 浅谈Javascript Base64 加密解密
- JavaScript设计模式之代理模式介绍
- JavaScript设计模式之外观模式介绍