首先明确概念:事件是页面通过脚本相应的动作,事件处理器用于触发事件。
触发事件的方式:
- 直接使用事件处理器,如<button οnclick="myFun()">
- 将对象与事件处理器绑定,即在<script>标签中使用document.id.οnclick=myFun()
- 使用IE浏览器的绑定处理器至对象,即利用id.attachEvent("onclick",function)方法
- 使用DOM2的Event对象的方法和属性以及documnet的addEventListener/remove...方法
- 使用事件处理器时首先了解XHTML的基本事件及其处理器
关于基本事件,可以点击这里查看
- 非标准方式绑定事件,支持IE浏览器,即在<script>中使用for属性和某一个id相同,例如:
<p id="para">文本</p> <script for="para" type="text/javascript" event="onclick"> alert("hello"); </script>
- 利用处理器的返回值影响事件的默认动作,例如:
<a href="#" onclick="return confirm('change the page?')">链接</a>
如果点击“取消”,则不会转移到相应链接。注意一定要加上 “return”。
- DOM2定义的鼠标事件和XHTML的相同,当鼠标事件发生时,Event对象会产生附加信息。
点击这里查看Event的附加属性
- 事件监听:
- IE浏览器中使用对象的attachEvent 和detachEvent方法来添加和删除事件
- DOM中使用document的addEventListener和removeEventListener方法来添加和删除事件
这两种方式可以给一个对象执行多个listener,但是on这样的方式一个时间只能指向一个对象,具体区别请查阅rudy24 博主的addEventListener和onclick的区别
- 创建事件:
evt=document.createEvent("E"); evt.initEvent("click","true","true"); currentnode.dispatchEvent(evt);