首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何阻止windows.onbeforeunload被IE中的javascript:href链接触发?

阻止windows.onbeforeunload被IE中的javascript:href链接触发,可以通过以下方法实现:

  1. 使用event.preventDefault()方法

windows.onbeforeunload事件处理程序中,使用event.preventDefault()方法可以阻止事件的默认行为,从而避免javascript:href链接触发windows.onbeforeunload事件。

示例代码:

代码语言:javascript
复制
window.onbeforeunload = function(event) {
  event.preventDefault();
  event.returnValue = '';
};
  1. 使用event.stopPropagation()方法

windows.onbeforeunload事件处理程序中,使用event.stopPropagation()方法可以阻止事件冒泡,从而避免javascript:href链接触发windows.onbeforeunload事件。

示例代码:

代码语言:javascript
复制
window.onbeforeunload = function(event) {
  event.stopPropagation();
  event.returnValue = '';
};
  1. 使用addEventListener方法

使用addEventListener方法为windows.onbeforeunload事件添加处理程序,并在处理程序中使用event.preventDefault()event.stopPropagation()方法阻止事件的默认行为或冒泡。

示例代码:

代码语言:javascript
复制
window.addEventListener('beforeunload', function(event) {
  event.preventDefault();
  event.returnValue = '';
});
  1. 使用javascript:void(0)替换javascript:href链接

在HTML中,使用javascript:void(0)替换javascript:href链接可以避免触发windows.onbeforeunload事件。

示例代码:

代码语言:html
复制
<a href="javascript:void(0)">链接</a>
  1. 使用return false替换javascript:href链接

在HTML中,使用return false替换javascript:href链接可以避免触发windows.onbeforeunload事件。

示例代码:

代码语言:html
复制
<a href="javascript:void(0)" onclick="return false">链接</a>

通过以上方法,可以有效地阻止windows.onbeforeunload被IE中的javascript:href链接触发。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

如在一个按钮是绑定一个”click”事件,那么”click”事件会依次在它的父级元素中被触发 。stopPropagation就是阻止目标元素的事件冒泡到父级元素。...既然是说默认行为,当然是元素必须有默认行为才能被取消,如果元素本身就没有默认行为,调用当然就无效了。什么元素有默认行为呢?如链接,提交按钮等。...我们都知道,链接的默认动作就是跳转到指定页面,下面就以它为例,阻止它的跳转: //假定有链接href="http://caibaojian.com/" id="testA" >caibaojian.com...事件注意点 event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等; event对象只在事件发生的过程中才有效。...在IE/Opera中是window.event,在Firefox中是event;而事件的对象,在IE中是window.event.srcElement,在Firefox中是event.target,Opera

2.2K20

JavaScript阻止冒泡和取消默认事件(默认行为)

JavaScript冒泡和捕获是事件的两种行为,使用event.stopPropagation()起到阻止捕获和冒泡阶段中当前事件的进一步传播。...既然是说默认行为,当然是元素必须有默认行为才能被取消,如果元素本身就没有默认行为,调用当然就无效了。 什么元素有默认行为呢?如链接,提交按钮等。...我们都知道,链接的默认动作就是跳转到指定页面,下面就以它为例,阻止它的跳转: //假定有链接href="http:// fly63.com/" id="testA" > fly63.com<...事件注意点 event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等; event对象只在事件发生的过程中才有效。...在IE/Opera中是window.event,在Firefox中是event;而事件的对象,在IE中是window.event.srcElement,在Firefox中是event.target,Opera

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

    ="fc1()">我是带阻止默认事件的a链接 href="javascript:;" >我是不带阻止默认事件的a...(2)当用户在编辑完表单后按下回车键时,会触发表单的submit事件,在此事件发生后,表单提交才会真正发生。 这种行为与我们讨论的事件处理程序不是同一个概念,它是单击标签元素的默认操作。...既然是说默认行为,当然是元素必须有默认行为才能被取消,如果元素本身就没有默认行为,调用当然就无效了。什么元素有默认行为呢?如链接,提交按钮等。...//仅仅是在HTML事件属性 和 DOM0级事件处理方法中 才能通过返回 return false 的形式组织事件宿主的默认行为。...= false; //IE中阻止函数器默认动作的方式       //注意:这个地方是无法用return false代替的       //return false只能取消元素 }

    2.5K60

    杨老师课堂之Jquery的筛选,事件,效果,Ajax,javascript跨域)

    事件冒泡可能会引起预料之外的效果,上例中,本来只想触发元素 的click事件,然而 元素和元素的click事件也同时被触 发了.因此有必要对事件的作用范围进行限制.当单击元素时,只 触发元素的click...可以用同样的方法解决 元素上的问题 阻止默认行为 网页中的元素都有自己默认的行为,例如:单击超链接后悔跳转,单击”提交”按钮会表单会提交,有时需要阻止元素的默认行为 在jquery中,提供了preventDefault...获取到事件的类型 $(“a”).click(function(event){ alert(event.type); //获取事件类型 return false; //阻止链接被跳转 }) 以上代码会返回...”click” (2)event.preventDefault()方法 阻止默认事件行为.js中符合W3C规范的preventDefault()方法在IE浏览器中无效....); //获取触发事件的a元素的href属性值 return false;//阻止链接跳转 });//output “http://google.com” (5)event.relateTarget

    8.3K20

    :第三章 - 事件修饰符的使用

    一、前言   熟悉了 Vue 的指令系统后,在实际开发中,不可避免的会使用到对于事件的操作,如何处理 DOM 事件流,成为我们必须要掌握的技能。...不同于传统的前端开发,在 Vue 中给我们提供了事件修饰符这一利器,使我们可以便捷的处理 DOM 事件,本章,一起来学习如何使用事件修饰符来实现对于 DOM 事件流的操作。   ...,我们要在需要实现功能的页面元素上使用 v-on 指令去监听 DOM 事件,在 html4 时代浏览器如何确定页面的哪一部分会拥有特定的事件时,IE 和 Netscape 的开发团队提出了两个截然相反的概念...1 href="http://www.baidu.com" @click="aHandlerClick">链接跳转 2 3 4 var vm = new...href="http://www.baidu.com" @click.prevent="aHandlerClick">链接跳转 ?

    86530

    javascript中间preventDefault与stopPropagation角色介绍

    我们知道,例如,href=”http://www.baidu.com”>百度,这是html最基本的东西,的作用是点击链接百度上http://www.baidu.com,这是属于标签的默认行为...head> JS阻止链接跳转...当一个元素上的事件被触发的时候,比方说鼠标点击了一个button,相同的事件将会在那个元素的全部祖先元素中被触发。 这一过程被称为事件冒泡。这个事件从原始元素開始一直冒泡到DOM树的最上层。...在我们的这个样例中也就是button。目标元素它在我们的事件对象中以属性的形式出现。...stopPropagation是能够阻止它的默认行为的发生而发生其它的事情。起到阻止js事件冒泡的作用。 看一段代码。 <!

    35920

    深入理解 DOM 事件机制

    2.如何实现 接下来我们来实现上例中父层元素 #list 下的 li 元素的事件委托到它的父层元素上: // 给父层元素绑定事件 document.getElementById('list').addEventListener...//方法一: href="javascript:;">链接 也可以通过JS方法来阻止,给其click事件绑定方法,当我们点击A标签的时候,先触发click事件,其次才会执行自己的默认行为...//方法二: href="http://www.cnblogs.com">链接 test.onclick = function(e){ e =...,也能阻止元素同事件类型的其它监听器被触发。...:d¤tTarget:a 从输出中我们可以看到,event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素,只有被点击的那个目标元素的event.target

    2.8K50

    前端架构师之11_JavaScript事件

    事件驱动式 是指在Web页面中JavaScript的事件,侦测到的用户行为,并执行相应的事件处理程序的过程。 鼠标移入文本区域,文本区域变色这一过程。...1表示捕获阶段,2表示处于目标阶段,3表示冒泡阶段 标准浏览器事件对象 stopPropagation() 阻止事件冒泡 标准浏览器事件对象 preventDefault() 阻止默认行为 早期版本IE...浏览器事件对象 srcElement 返回触发此事件的元素(事件的目标节点) 早期版本IE浏览器事件对象 cancelBubble 阻止事件冒泡,默认为false表示允许,设置true表示阻止 早期版本...例如,单击 标签后,会自动跳转到href属性指定的URL链接;单击表单的submit按钮后,会自动将表单数据提交到指定的服务器端页面处理。因此,我们把标签具有的这种行为称为默认行为。...href="http://www.example.com">默认链接 document.getElementById('test').onclick

    7410

    JS事件篇

    属性会获取包括文本节点在内的所有节点,注意DOM标签与标签之间的空白也会被当成文本节点 在IE8一下的浏览器中,不会将空白文本当成子节点,所以该属性再IE8中会返回4个子元素,而其他浏览器都是9个 -...---- 阻止a标签默认行为的常用三种方式 (1) href=“javascript:void(0);” οnclick= “myjs( )” > Click Me onclick...等,尽管解决了返回顶部的问题但仍存在其他缺陷 (3)事件处理函数的工作机制中,在给某元素添加事件处理函数后,一旦事件发生,相应JavaScript代码就会执行,所调用的JavaScript代码的返回值被传递给事件处理函数...当我们给a标签添加onclick事件处理函数并点击a触发其后, 如果相应JavaScript代码返回true,onclick事件处理函数就会认为这个链接呗点击了,同样的若返回false即会认为链接...alert("超链接被点击"); } } ---- 事件的绑定----为另一个元素绑定多个事件 addEventListener—IE8

    12.6K10

    可以被XSS利用的HTML标签和一些手段技巧

    而且还有很多Payload就算把其中的HTML代码闭合后写在自己的前端中,都不一定触发,因为很多老的标签和事件都已经被W3C给废弃了。...--这些标签中src加伪协议js代码不能触发,IE8以前的时候可以--> img、video、audio标签   onclick:点击触发   onerror:当src加载不出来时触发   onload...实体编码一开始是为了避免譬如在你的双引号中要输入数据中包括双引号导致浏览器把你输入的引号当作上一个引号的姐妹标签而异常闭合而提出的,当时依然可以构造XSS 如下语句是可以在各大浏览器执行的  href...,听过但是我自己都还没遇到过,就是如果可以控制head中的base里的src 那么接下来所有的链接文件,都是会在开头加上base里的src链接的,在自己的网站上线一个符号的js文件。...阻止浏览器302跳转 总所总之,浏览器遇到302,301会直接跟进头部的跳转链接,可是有时候XSS界面就是这个跳转页面,这个跳转url是可控的,并且在浏览器显示如果浏览器没有正确跳转,请点击XXX的字样

    4.1K90

    H5页面判断客户端是iOS或者Android并跳转对应链接唤起APP

    通过判断是否是微信,部分不能用微信打开的页面,可以设置一个引导提示,让用户在浏览器中打开。 ...;     } } downApp(); 可以直接把这个函数放在一个按钮或者链接上,点击触发这个事件。...例如: href="javascript:void(0)" onclick="downApp()">点击下载应用 唤起本地APP 在日常生活中,应该不难遇到打开页面自动跳转到APP的提示...iOS7/iOS8 iOS 中默认通过 Safari 打开 URL scheme ,方法一般有如下两种: 直跳方式: 点击链接、修改 window.location 等。...if(isAndroid){             //android                          //此操作会调起app并阻止接下来的js执行             $('body

    13.5K30

    第123天:移动web开发中的常见问题

    手机端页面自适应解决方案—rem布局进阶版(附源码示例) 三、移动web开发中的常见问题 1、移动端如何定义字体font-family?...touchmove——当手指在屏幕上滑动时连续触发。通常我们再滑屏页面,会调用event``preventDefault()可以阻止默认情况的发生:阻止页面滚动。...MSPointerMove——当手指在屏幕上滑动时连续触发。通常我们再滑屏页面,会调用css的html{-ms-touch-action:none;}可以阻止默认情况的发生:阻止页面滚动。...MSPointerUp——当手指离开屏幕时触发。 5、如何解决移动端click屏幕产生200-300ms的延迟响应问题?...在高清显示屏中的位图被放大,图片会变得模糊,因此移动端的视觉稿通常会设计为传统PC的2倍。

    1.5K20

    JavaScript——DOM事件高级

    () 该方法阻止默认事件(默认行为)标准 e.stopPropagation() 阻止冒泡  标准 非标准一般指在ie6-ie8中支持 e.target和this区别 e.target 返回的是触发事件的对象...让链接不跳转,或者让提交按钮不提交。...e.pageY 返回鼠标相对于文档页面的Y坐标 IE9+支持 e.screenX 返回鼠标相对于电脑屏幕的X坐标 e.screenY 返回鼠标相对于电脑屏幕的Y坐标 JavaScript案例:下拉菜单...键盘事件 触发条件 onkeyup 某个键盘按键被松开时触发 onkeydown 某个键盘按键被按下时触发 onkeypress 某个键盘被按下时触发 但不识别功能键 keyup按键弹起时触发:...= function () { console.log('我被按了'); } 注意: 如果使用addEventListener不需要加on keypress是某个按键被按下时触发

    1.8K10
    领券