时间:2021-05-26
js事件绑定
JavaScript 有三种事件模型:
1、内联模型
//基本废除不用<input type="button" value="按钮" onclick="alert('Lee');" /><input type="button" value="按钮" onclick="box();" />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 表示冒泡)
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.有内存泄漏的问题
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JS事件绑定的常用方式。分享给大家供大家参考,具体如下:常用的事件绑定的几种方式有三种:直接在dom元素上进行绑定。用on绑定。用addEvent
本文实例讲述了JQuery中DOM事件绑定用法。分享给大家供大家参考。具体分析如下:在文档加载完成后,如果打算为元素绑定事件来完成某些操作,则可以使用bind(
首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如
1、在DOM对象的实践操作中,既然存在用于绑定事件的bind方法,也相应存在用于移出绑定事件的方法,在JQuery中,可以通过unbind方法移除所有绑定的事件
在工作时,我们给一个元素绑定了事件,如果dom还没加载完成,就执行了js代码,就不会绑定成功。常规解决方案就是用:window.onload=EventFunc