摘要:会有页面滚动到顶部的效应但是,如果使用了的方式,可以在标签的响应事件里加上,或者来解决下频繁弹出页面离开提示的问题
背景
在某些场景下,我们希望点击a标签以后不做跳转,并且能响应a标签绑定的事件,常见方法href设置javascript:;、#### 等,但经测试发现,这几种方式在chrome,ie9上对onbeforeunload事件的触发不一致,这里做个测试和总结。
示例代码示例代码里对几种不同的方式在chrome,ie下作了测试。
-- chrome版本:版本 58.0.3029.110
-- ie版本:9.0.8112
结论
1.使用href="" 与使用href="#" 效果是一样的,都会滚动到页面顶部
2.a标签不加href属性,不会具有a标签的性质(hover手形,下划线),但可以用css加上标签的默认样式
3.对onbeforeunload的触发情况:
chrome下,href="" 、href="tel"、href="mailto" 都会触发onbeforeunload事件
ie下:javascript:void(0); javascript:; href="" 都会触发onbeforeunload事件
so,
4.在希望点击a标签以后不做跳转,并且能响应a标签绑定的事件,而页面绑定了onbeforeunload事件,href="####", 以及不设置href属性这两种方式是安全的。(href="#"会有页面滚动到顶部的效应)
5.但是,如果使用了javascript:;的方式,可以在a标签的响应事件里加上,return false; 或者e.preventDefault() 来解决ie9下频繁弹出页面离开提示的问题
Reference1.onebeforeunload is too enthusiastice in ie9 https://stackoverflow.com/que...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/83526.html
摘要:事件事件在用户退出页面时发生。注意事件同样触发了页面载入事件事件。如图所示大体一句话描述和支持事件但是或者不支持该事件。浏览器兼容情况完美支持不支持文字提醒信息不支持如图所示使用遇到的凡是标签都会触发事件包括这种。 简介 onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过 window.onunload来调用。区别在于onbeforeunload在o...
摘要:所以有可能在所有脚本执行完毕后触发。如果用户即将离开页面或者关闭窗口时,事件将会被触发以进行额外的确认。状态表示事件即将被触发。总结页面事件的生命周期事件在树构建完毕后被触发,我们可以在这个阶段使用去访问元素。 页面生命周期:DOMContentLoaded, load, beforeunload, unload 原文地址:http://javascript.info/onload.....
摘要:所以有可能在所有脚本执行完毕后触发。如果用户即将离开页面或者关闭窗口时,事件将会被触发以进行额外的确认。状态表示事件即将被触发。总结页面事件的生命周期事件在树构建完毕后被触发,我们可以在这个阶段使用去访问元素。 页面生命周期:DOMContentLoaded, load, beforeunload, unload 原文地址:http://javascript.info/onload.....
阅读 2443·2021-10-12 10:11
阅读 1188·2021-10-11 10:58
阅读 3215·2019-08-30 15:54
阅读 665·2019-08-30 13:59
阅读 631·2019-08-29 13:07
阅读 1365·2019-08-26 11:55
阅读 2092·2019-08-26 10:44
阅读 2573·2019-08-23 18:25