如何给元素添加事件监听和取消事件冒泡
2017-11-06 14:41
344 查看
var
div
=
document.getElementById("div");
/*如何通过DOM2模型给同一个元素添加多个同类型事件监听
* 在W3C类型的浏览器下,先声明的先触发
* 在IE类型的浏览器下,先声明的后触发*/
if
(document.addEventListener){
div.addEventListener("click",function
() {
console.log(1);
});
div.addEventListener("click",function
() {
console.log(2);
});
div.addEventListener("click",function
() {
console.log(3);
});
}else
{
div.attachEvent("onclick",function
() {
console.log(1);
});
div.attachEvent("onclick",function
() {
console.log(2);
});
div.attachEvent("onclick",function
() {
console.log(3);
});
}
根据不同的事件类型,采用不同的方法取消事件冒泡
function
stop(e) {
if
(e.stopPropagation){
//w3c
e.stopPropagation();
}else{
e.cancelBubble
=
true;
}
}
div
=
document.getElementById("div");
/*如何通过DOM2模型给同一个元素添加多个同类型事件监听
* 在W3C类型的浏览器下,先声明的先触发
* 在IE类型的浏览器下,先声明的后触发*/
if
(document.addEventListener){
div.addEventListener("click",function
() {
console.log(1);
});
div.addEventListener("click",function
() {
console.log(2);
});
div.addEventListener("click",function
() {
console.log(3);
});
}else
{
div.attachEvent("onclick",function
() {
console.log(1);
});
div.attachEvent("onclick",function
() {
console.log(2);
});
div.attachEvent("onclick",function
() {
console.log(3);
});
}
根据不同的事件类型,采用不同的方法取消事件冒泡
function
stop(e) {
if
(e.stopPropagation){
//w3c
e.stopPropagation();
}else{
e.cancelBubble
=
true;
}
}
相关文章推荐
- 原生JS如何利用冒泡减少事件的触发,只代理给共有的父元素。
- 小试ajax添加与取消监听事件
- 关于什么是事件冒泡和如何取消事件冒泡的讨论!
- js阻止默认行为和冒泡,添加和删除监听事件
- 动态添加的元素如何绑定事件
- Android 如何让EditText不自动获取焦点 在项目中,一进入一个页面, EditText默认就会自动获取焦点。 那么如何取消这个默认行为呢? 在网上找了好久,有点 监听软键盘事件
- js如何取消事件冒泡
- 如何为界面的元素添加事件处理?
- 如何获取事件冒泡里最顶层的元素(或者任意层的元素)
- input元素添加监听事件
- jquery创建的动态元素如何为元素添加相应事件
- W3C下的冒泡和捕获机制。到底是冒泡呢。还是捕获呢。一个DOM元素绑定多个事件时如何执行。
- javascript 兼容W3c和IE的添加(取消)事件监听方法
- Android中如何为Fragment中的按钮添加监听事件
- jquery resize 如何监听div或其它元素的resize事件
- js动态创建的元素添加监听事件
- android中如果activity中应用fragementlayout布局文件,如何给其中的控件添加事件监听。
- 如何为页面动态生成的元素添加事件(如append()动态添加的标签)
- 如何给同一个元素添加同类型事件
- js如何取消事件冒泡