今天说一下javascript 事件处理程序也叫事件侦听器,什么是事件处理程序?那首先,什么是事件?事件就是用户或者浏览器自身执行的某种动作,如:click、load等都是事件的名字。而响应时间的函数就叫做事件处理程序,如:onclick,onload
添加事件处理程序的方法
为元素添加事件处理程序有多种方法:
一、在元素上添加,如:
|
|
这种方法的优点在于他拓展作用域的方式,在函数内部可以直接访问document以及元素本身的属性。如下代码,点击按钮会弹出输入框中的值:
缺点在于:
1、会有时差问题,因为很多时候侦听器要处理的并不是简单的一个语句,而是一个功能,如果点击时页面还没有加载完成点击时要执行的函数,那么就会报错。这样我们可以把他邓庄到一个try-catch块中来捕捉错误,如:
2、可能会有兼容问题
3、html与javascript紧密耦合,不利于维护。
二、为元素指定事件处理程序:
|
|
这种方法的优点在于1、绑定简单2、不会有浏览器兼容问题缺点在于当需要操作的元素很多时,对DOM的操作太多,函数太多会占用内存,影响网站的性能
三、addEventListener():
addEvenetListener()接受三个参数:1、事件名,如click注意不是onclick 2、执行函数 3、true or false(true表示在事件捕获阶段调用,false表示在事件冒泡阶段调用)。特别说明:不建议在事件捕获阶段调用,也就是不建议使用true,除非特别需要,因为会有兼容问题