欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件

程序员文章站 2022-03-15 13:35:42
...
嵌套的p元素,如果父级和子元素都绑定了一些事件,那么在点击最内层子元素时可能会触发父级元素的事件,下面介绍一下js阻止默认事件与js阻止事件冒泡示例,大家参考使用吧
1. event.preventDefault(); – 阻止元素的默认事件。
注:a元素的点击跳转的默认事件 ,
button,radio等表单元素的默认事件 ,
p 元素没有默认事件
例:
<a href="http://www.baidu.com" target="_black">百度</a>var samp = document.getElementByTagName("a");
samp.addEventListener("click",function(e){e.preventDefault()},false);

解释:点击链接的时候正常情况下会发生跳转,但是现在我们阻止了它的默认事件,即跳转事件,这时就不会跳转到百度了。

  1. event.stopPropagation(); – 阻止元素冒泡事件
    注:嵌套元素一般都存在冒泡事件,会带来某些影响
    例:

<p id="c1" onclick="alert(1)">
<p id="c2" onlick="alert(2)">
<input type="button" id="c3" value="点击" onclick="alert(3)">
</p>
</p>

这里点击button的时候,浏览器会先后弹出3,2,1,本来只想让绑定在button上的事件发生,却无意中触发了它的两个父级上的事件,这里我们只是做了一个简单测试,试想如果在项目开发中,某个按钮和他的父级同时绑定了很重要的事件,那么结果会惨不忍睹。这时的处理方法就是阻止冒泡事件。
给input注册click事件,同时阻止它的冒泡事件

document.getElementById('c3').addEventListener('click',function(e){e.stopPropagation()},false);

嵌套的p元素,如果父级和子元素都绑定了一些事件,那么在点击最内层子元素时可能会触发父级元素的事件,下面介绍一下js阻止默认事件与js阻止事件冒泡示例,大家参考使用吧
1. event.preventDefault(); – 阻止元素的默认事件。
注:a元素的点击跳转的默认事件 ,
button,radio等表单元素的默认事件 ,
p 元素没有默认事件
例:

<a href="http://www.baidu.com" target="_black">百度</a>var samp = document.getElementByTagName("a");
samp.addEventListener("click",function(e){e.preventDefault()},false);

解释:点击链接的时候正常情况下会发生跳转,但是现在我们阻止了它的默认事件,即跳转事件,这时就不会跳转到百度了。

  1. event.stopPropagation(); – 阻止元素冒泡事件
    注:嵌套元素一般都存在冒泡事件,会带来某些影响
    例:

<p id="c1" onclick="alert(1)">
<p id="c2" onlick="alert(2)">
<input type="button" id="c3" value="点击" onclick="alert(3)">
</p>
</p>

这里点击button的时候,浏览器会先后弹出3,2,1,本来只想让绑定在button上的事件发生,却无意中触发了它的两个父级上的事件,这里我们只是做了一个简单测试,试想如果在项目开发中,某个按钮和他的父级同时绑定了很重要的事件,那么结果会惨不忍睹。这时的处理方法就是阻止冒泡事件。
给input注册click事件,同时阻止它的冒泡事件

document.getElementById('c3').addEventListener('click',function(e){e.stopPropagation()},false);

本文讲解了js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件 ,更多相关内容请关注。

相关推荐:

js函数常见的写法以及调用方法

原生JS的AJAX读取json全过程

vue.js安装与配置

以上就是js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件的详细内容,更多请关注其它相关文章!

相关标签: javascript