首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

js 停止事件冒泡 阻止浏览器的默认行为

在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”。...浏览器默认行为: 在form中按回车键就会提交表单;单击鼠标右键就会弹出context menu. a标签 1..停止事件冒泡 JavaScript代码 1 //如果提供了事件对象,则这是一个非IE浏览器...(W3C) 10 11 event.preventDefault(); 12 13 } else { 14 15    //IE中阻止函数器默认动作的方式 16...return false; } 但是在使用return false时必须注意: 1、jQuery有自己的事件处理层,也对处理程序做了封装,如果事件处理程序返回false,事件冒泡和浏览器默认事件都会被阻止...2、使用原生javaScript,在事件处理程序中返回false只会阻止浏览器默认行为,而事件冒泡依然存在。 3、浏览器默认行为和事件冒泡是相互独立的。阻止事件冒泡不会影响默认行为,反之亦然。

5.2K120

阻止a标签的默认事件及延伸

(2)当用户在编辑完表单后按下回车键时,会触发表单的submit事件,在此事件发生后,表单提交才会真正发生。 这种行为与我们讨论的事件处理程序不是同一个概念,它是单击标签元素的默认操作。...既然是说默认行为,当然是元素必须有默认行为才能被取消,如果元素本身就没有默认行为,调用当然就无效了。什么元素有默认行为呢?如链接,提交按钮等。...,而是用jQuery的话则既阻止默认行为又防止对象冒泡。...//原生js,只会阻止默认行为,不会停止冒泡 var a = document.getElementById("testA"); a.onclick = function(){ return false...1 //jQuery,既阻止默认行为又停止冒泡 2 $("#testA").on('click',function(){ 3 return false;//当然 也阻止了事件本身 4 }); 总结使用方法

2.4K60

WEB安全新玩法 阻止订单重复提交

我们看看如何在不修改网站源代码的前提下,使用 iFlow 通过透明加入一次性令牌来阻止订单的重复提交攻击。...2.1 正常用户访问 用户在访问确认订单页面时,浏览器自动加载处理订单支付的 JS 代码 (payment_orders.js)。...用户在点击提交订单按钮时,JS 代码发出 AJAX 请求将随机令牌随同订单信息一起发出,iFlow 截获请求,检查参数中的令牌是否与保存的令牌一致,并清除本地存储中保存的令牌。...用 W2 语言实现上述虚拟补丁的代码如下: [ { "if": "REQUEST_FILENAME == '/js/payment_orders/payment_orders.js...第二条规则 当用户执行提交订单时,JS 发出一个 AJAX 的 POST 请求,iFlow 拦截此请求。

1.4K20

如何阻止冒泡&&浏览器默认行为

摘要 很多同学对阻止事件冒泡和阻止事件默认行为容易混淆,项目中因为一些原因也需要阻止浏览器的一些默认行为,这里就简单总结一下。...可以尝试使用return false 阻止浏览器默认行为 在开始之前,首先需要了解什么是浏览器的默认行为,我这里简单举几个例子: 点击a标签,如果设置了href会执行跳转 点击输入框,输入框会获取焦点...点击右键,会弹出浏览器右键菜单 点击submit,会提交其所在表单 点击checkbox 会选中或者反选 还有其他的很多,这里就不一一列举了 同样的对于阻止浏览器默认行为的实现也分为W3C标准实现和IE...default was prevented */ } 当然不是所有的事件都可以被cancel,浏览器也提供了cancelable属性来判断事件是否可以被取消,如果cancelable为false,那么便无法阻止浏览器的默认行为...; console.dir(event); } } document.addEventListener('wheel', preventCancelableEvents); # 总结 阻止默认冒泡和阻止浏览器默认行为需要关注的是兼容性问题

2K40

JavaScript停止冒泡和阻止浏览器默认行为

e:window.event; } js停止事件冒泡 function myfn(e){ window.event? ...window.event.cancelBubble = true : e.stopPropagation(); } js阻止默认行为 function myfn(e){ window.event? ...既然是说默认行为,当然是元素必须有默认行为才能被取消,如果元素本身就没有默认行为,调用当然就无效了。什么元素有默认行为呢?如链接,提交按钮等。...,而是用jQuery的话则既阻止默认行为又防止对象冒泡 下面这个使用原生js,只会阻止默认行为,不会停止冒泡 <ul  onclick...,可以使用 //阻止浏览器的默认行为  function stopDefault( e ) {      //阻止默认浏览器动作(W3C)      if ( e && e.preventDefault

2.1K20
领券