JS 事件对象阻止默认行为与阻止冒泡

简介: JS 事件对象阻止默认行为与阻止冒泡

js有很多阻止默认行为的方法,阻止默认行为 例如我们不想让一个链接进行跳转,就可以用事件对象的阻止默认行为的方法,比如:e.preventDefault ():及stoppropogation()


preventDefault ():

点击链接后不再跳转,阻止了默认属性,这种写法为 DOM 的标准写法

<ahref="http://www.baidu.com/"target="_blank">这是一个链接可以跳转</baidu></a><script>vara=document.querySelector('a');
a.addEventListener('click',function(e){
e.preventDefault();
     })
</script>

对于一些低版本的浏览器,例如 ie678 版本,不支持上述写法,我们要用到另一个方法


e.returnValue

<ahref="http://www.baidu.com/"target="_blank">这是一个链接可以跳转</baidu></a><script>vara=document.querySelector('a');
a.addEventListener('click',function(e){
e.returnValue;
     })
</script>

在事件流中,如果父级子级均有 addEventListener 注册事件并且第三个属性值为 false (冒泡阶段),我们点击 子级别 后就会连同 父级 一同输出,如果有更高级如 body document等也会依次由低到高输出,但是我们只想让其中某一级输出怎么办,这就用到了 阻止冒泡

e.stopPropagation()

<script>varson=document.querySelector('.son');
varfather=document.querySelector('.father');
son.addEventListener('click',function(e){
alert('son');
e.stopPropagation();
       },false);
father.addEventListener('click',function(e){
alert('father');
e.stopPropagation();
       },false);
document.addEventListener('click',function(e){
alert('document');
e.stopPropagation();
       },false)
</script>

点击后每次只会弹出当前级别的提示框,不会再按照事件流的顺序依次执行

相关文章
|
4月前
|
监控 JavaScript 前端开发
使用Vue.js开发员工上网行为监控的实时数据展示页面
使用Vue.js开发的实时员工上网行为监控页面,展示员工访问的网站、应用和时间等数据。页面响应式设计,适应不同设备。通过Vue组件显示实时数据,如`&lt;li v-for=&quot;activity in activities&quot;&gt;`循环渲染。数据定时更新,利用Vue的生命周期钩子和axios从服务器获取并自动刷新,确保数据的时效性。该页面有助于管理者即时了解员工网络活动,保障企业网络安全和资源管理。
180 5
|
5月前
|
JavaScript
阻止默认行为的两种方式(js的问题)
阻止默认行为的两种方式(js的问题)
26 0
|
5月前
|
JavaScript
Vue.js 修饰符:精准控制组件行为
Vue.js 修饰符:精准控制组件行为
|
5月前
|
JavaScript 算法
|
5月前
|
JavaScript 前端开发 UED
JavaScript学习 -- 事件对象学习
JavaScript学习 -- 事件对象学习
38 0
|
12月前
|
JavaScript 前端开发 UED
JavaScript学习 -- 事件对象学习
JavaScript学习 -- 事件对象学习
36 0
|
5月前
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素传递,而事件捕获则从外层元素向内层传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。示例代码展示了如何设置。
42 2
|
4月前
|
JavaScript 前端开发 开发者
JavaScript的变量提升是一种编译阶段的行为,它将`var`声明的变量和函数声明移至作用域顶部。
【6月更文挑战第27天】JavaScript的变量提升是一种编译阶段的行为,它将`var`声明的变量和函数声明移至作用域顶部。变量默认值为`undefined`,函数则整体提升。`let`和`const`不在提升范围内,存在暂时性死区。现代实践推荐明确声明位置以减少误解。
37 2
|
3月前
|
监控 JavaScript 安全
局域网行为管理软件与 Angular.js 的协同工作
在数字化办公时代,局域网行为管理软件对保障企业信息安全至关重要。Angular.js 作为强大前端框架,助力这类软件开发与优化。通过 `$http` 服务收集并提交用户行为数据至服务器,实现实时监控与展示。Angular.js 提供的双向数据绑定特性增强了软件交互性与实用性,为企业提供高效可靠的行为管理方案,保障网络安全与正常运营。
22 6
|
2月前
|
JavaScript 前端开发 API
JavaScript的事件对象
JavaScript的事件对象
26 0