js阻止元素的默认事件与冒泡事件
2014-01-26 12:34
519 查看
嵌套的div元素,如果父级和子元素都绑定了一些事件,那么在点击最内层子元素时可能会触发父级元素的事件,从而带来一定的影响。
1. event.preventDefault(); -- 阻止元素的默认事件。
注:a元素的点击跳转的默认事件 ,
button,radio等表单元素的默认事件 ,
div 元素没有默认事件
例:<a href="http://www.baidu.com" target="_black">百度《/a》
var samp = document.getElementByTagName("a");
samp.addEventListener("click",function(e){e.preventDefault()},false);
解释:点击链接的时候正常情况下会发生跳转,但是现在我们阻止了它的默认事件,即跳转事件,这时就不会跳转到百度了。
2. event.stopPropagation(); -- 阻止元素冒泡事件
注:嵌套元素一般都存在冒泡事件,会带来某些影响
例:<div id="c1" onclick="alert(1)">
<div id="c2" onlick="alert(2)">
<input type="button" id="c3" value="点击" onclick="alert(3)">
</div>
</div>
这里点击button的时候,浏览器会先后弹出3,2,1,本来只想让绑定在button上的事件发生,却无意中触发了它的两个父级上的事件,这里我们只是做了一个简单测试,试想如果在项目开发中,某个按钮和他的父级同时绑定了很重要的事件,那么结果会惨不忍睹。这时的处理方法就是阻止冒泡事件。
给input注册click事件,同时阻止它的冒泡事件
document.getElementById('c3').addEventListener('click',function(e){e.stopPropagation()},false);
OK!!!了
1. event.preventDefault(); -- 阻止元素的默认事件。
注:a元素的点击跳转的默认事件 ,
button,radio等表单元素的默认事件 ,
div 元素没有默认事件
例:<a href="http://www.baidu.com" target="_black">百度《/a》
var samp = document.getElementByTagName("a");
samp.addEventListener("click",function(e){e.preventDefault()},false);
解释:点击链接的时候正常情况下会发生跳转,但是现在我们阻止了它的默认事件,即跳转事件,这时就不会跳转到百度了。
2. event.stopPropagation(); -- 阻止元素冒泡事件
注:嵌套元素一般都存在冒泡事件,会带来某些影响
例:<div id="c1" onclick="alert(1)">
<div id="c2" onlick="alert(2)">
<input type="button" id="c3" value="点击" onclick="alert(3)">
</div>
</div>
这里点击button的时候,浏览器会先后弹出3,2,1,本来只想让绑定在button上的事件发生,却无意中触发了它的两个父级上的事件,这里我们只是做了一个简单测试,试想如果在项目开发中,某个按钮和他的父级同时绑定了很重要的事件,那么结果会惨不忍睹。这时的处理方法就是阻止冒泡事件。
给input注册click事件,同时阻止它的冒泡事件
document.getElementById('c3').addEventListener('click',function(e){e.stopPropagation()},false);
OK!!!了
相关文章推荐
- js 阻止元素(文档)默认事件,阻止冒泡事件
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)
- js阻止冒泡事件及默认操作
- 浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME) 转载
- js阻止冒泡和默认事件(默认行为)详解
- js阻止事件冒泡和标签默认行为
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)
- 阻止默认行为:比如a链接的跳转。阻止冒泡:子元素的事件触发到了父元素身上
- js /jquery停止事件冒泡和阻止浏览器默认事件
- js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器)
- 标签中事件在js中获取,阻止冒泡和默认事件。兼容ie
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- js阻止默认行为和冒泡,添加和删除监听事件
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- js阻止默认事件与js阻止事件冒泡
- js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器)
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- js阻止浏览器的默认行为以及停止事件冒泡
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)