将前段时间自己用到的,比较少见,但是功能很强大的事件在这里总结下,一来自己重新梳理归档下,二来,没用过的同学也可以尝试用下。其实,这些都是基础知识,但是基础是最重要的。还记得老师说过:’ 基础不牢,地动山摇 ’,很有道理!
想要全面了解的,可以查看菜鸟教程 DOM
一、onhashchange 事件
1. 何为 hash?
hash 为 URL 中 #后面的部分,可以通过 window.location.hash 来查看设置;页面打开后可以自动滚动定位到指定位置,这个位置设定可以通过 一 使用锚点,比如 <a name=”target”></a>, 二 使用 id 属性,比如 <span id=”target”></span>
2.hash 特点
hash 值浏览器是不会随请求发送到服务器端的,比如当打开 http://www.example.com/#print 服务器实际收到的请求地址是 http://www.example.com/,是不带 hash 值的
hash 还有另一个特点,它的改变不会导致页面重新加载
3.hashchange 事件
当 hash 变化时,会触发 hashchange 事件,触发时,事件对象有两个参数
window.onhashchange = function(e){
console.log(‘old URL:’, e.oldURL)
console.log(‘new URL’, e.newURL)
}
二、ontransitionend 事件
transitionend 事件在 CSS 完成过渡后触发注意:如果过渡在完成前移除,例如 CSS transition-property 属性被移除,过渡事件将不被触发。
三、onbeforeunload 事件
onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发。
该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面。
对话框默认的提示信息根据不同的浏览器有所不同,标准的信息类似 “ 确定要离开此页吗?”。该信息不能删除。
但你可以自定义一些消息提示与标准信息一起显示在对话框。
注意:如果你没有在 <body> 元素上指定 onbeforeunload 事件,则需要在 window 对象上添加事件,并使用 returnValue 属性创建自定义信息 (查看以下语法实例)。
注意:在 Firefox 浏览器中,只显示默认提醒信息(不显示自定义信息)。
四、onunload 事件
onunload 事件在用户退出页面时发生。
onunload 发生于当用户离开页面时发生的事件 (通过点击一个连接,提交表单,关闭浏览器窗口等等。)
注意:onunload 事件同样触发了页面载入事件 (+ onload 事件)。
五、onstorage 事件
该事件在 Web Storage(HTML 5 Web 存储) 更新时触发
六、onpopstate 事件
该事件在窗口的浏览历史(history 对象)发生改变时触发
七、onabort 事件
onabort 事件在用户中止加载 <img> 或 <input type=”image”> 元素时触发。