在这篇文章中我给大家整理了关于js中dom事件绑定的相关知识点,有兴趣的朋友赶快学习参考下。
js事件绑定
JavaScript 有三种事件模型:
内联模型
脚本模型
DOM2 模型
1、内联模型
//基本废除不用
登录后复制
2、脚本模型
//基本不用var input = document.getElementsByTagName('input')[0]; //得到 input 对象 input.onclick = function () { //匿名函数执行 alert('Lee');};事件处理函数 影响的元素 何时发生onabort 图像 当图像加载被中断时onblur 窗口、框架、所有表单对象 当焦点从对象上移开时onchange 输入框,选择框和文本区域 当改变一个元素的值且失去焦点时onclick 链接、按钮、表单对象、图像映射区域 当用户单击对象时ondblclick 链接、按钮、表单对象 当用户双击对象时ondragdrop 窗口 当用户将一个对象拖放到浏览器窗口时onError 脚本 当脚本中发生语法错误时onfocus 窗口、框架、所有表单对象 当单击鼠标或者将鼠标移动聚焦到窗口或框架时onkeydown 文档、图像、链接、表单 当按键被按下时onkeypress 文档、图像、链接、表单 当按键被按下然后松开时onkeyup 文档、图像、链接、表单 当按键被松开时onload 主题、框架集、图像 文档或图像加载后onunload 主体、框架集 文档或框架集卸载后onmouseout 链接 当图标移除链接时onmouseover 链接 当鼠标移到链接时onmove 窗口 当浏览器窗口移动时onreset 表单复位按钮 单击表单的 reset 按钮onresize 窗口 当选择一个表单对象时onselect 表单元素 当选择一个表单对象时onsubmit 表单 当发送表格到服务器时
登录后复制
3、内联模型
“DOM2 级事件”定义了两个方法,用于添加事件和删除事件处理程序的操作:
addEventListener()和 removeEventListener()。所有 DOM 节点中都包含这两个方法,并且它们都接受 3 个参数;事件名、函数、冒泡或捕获的布尔值(true 表示捕获,false 表示冒泡)
window.addEventListener('load', function () { alert('Lee');}, false);window.removeEventListener('load', function () { alert('Mr.Lee');}, false)
登录后复制
PS: IE 实现了与 DOM 中类似的两个方法:attachEvent()和 detachEvent()。这两个方法接受
相同的参数:事件名称和函数。
在使用这两组函数的时候,先把区别说一下:
1. IE 不支持捕获,只支持冒泡;2. IE 添加事件不能屏蔽重复的函数;3. IE 中的 this 指向的是 window 而不是 DOM 对象。4. 在传统事件上,IE 是无法接受到 event 对象的,但使用了 attchEvent()却可以,但有些区别。"javascriptwindow.attachEvent('load', function () { alert('Lee');}, false);window.detachEvent('load', function () { alert('Mr.Lee');}, false)"
登录后复制
PS:IE 中的事件绑定函数 attachEvent()和 detachEvent()可能在实践中不去使用,有几个原因:
1.IE9 就将全面支持 W3C 中的事件绑定函数;
2.IE 的事件绑定函数无法传递 this;
3.IE的事件绑定函数不支持捕获;
4.同一个函数注册绑定后,没有屏蔽掉;5.有内存泄漏的问题
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
vue-cli axios请求方式及跨域处理问题
vue页面加载闪烁问题的解决方法
浅谈js获取ModelAndView值的问题
以上就是js中DOM事件绑定分析的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2754402.html