美文网首页
js事件绑定那些事

js事件绑定那些事

作者: zhangjianli | 来源:发表于2017-04-01 22:16 被阅读0次

前端开发制作网页时,通常利用js进行各种网页交互,而交互必须涉及到事件绑定,下面来介绍一下事件绑定的各种方法

1.首先我们要了解一下事件三要素:即 事件源(要触发的对象),事件(怎么触发此事件),事件处理函数(发生了什么)
2.事件绑定的几种方法(以onclick事件为例):

object.onclick=function(){
  //do something
  }

这种方法在一个元素中只能绑定一次事件,如果给一个元素绑定多个事件,后面的会覆盖前面的

elem.addEventListener('click',function(){
      //do something
  },false).

addEventListener是w3c标准写法,共有三个参数,第一个为事件类型,但是不加on,第二个参数是一个函数,用于写逻辑代码进行事件操作,第三个参数为boolean型值,true或false,true表示事件捕获,false表示事件冒泡,默认为false
清除事件绑定时用removeEventListener();注意:清除事件和绑定事件一定要为同一个

elem.attachEvent('onclick',function(){
//do something
})

早期IE事件绑定方法,只有两个参数,因为早期IE不支持事件冒泡,第一个参数为事件类型 **需加on**,第二个参数为事件处理函数,清除事件时用detachEvent()

**需要注意的是:attachEvent函数中 this指向window,可以用call,apply,bind 进行修改this指向 且它的事件相对于addEventListener 执行顺序是相反的**

简单函数用于解决兼容性问题:

function addEvent(obj,type,handle){
try{ // Chrome、FireFox、Opera、Safari、IE9.0及其以上版本
obj.addEventListener(type,handle,false);
}catch(e){
try{ // IE8.0及其以下版本
obj.attachEvent('on' + type,function(){
handle.call(obj);
});
}catch(e){ // 早期浏览器
obj['on' + type] = handle;
}
}
}

相关文章

  • js事件绑定那些事

    前端开发制作网页时,通常利用js进行各种网页交互,而交互必须涉及到事件绑定,下面来介绍一下事件绑定的各种方法 1....

  • 025 JS事件

    JS事件 ********* 一、事件的两种绑定方式 ******* 1、on事件绑定方式 2、非on事件绑定方式...

  • JS异步那些事 一 (基础知识)

    JS异步那些事 一 (基础知识)JS异步那些事 二 (分布式事件)JS异步那些事 三 (Promise)JS异步那...

  • JS异步那些事 三 (Promise)

    JS异步那些事 一 (基础知识)JS异步那些事 二 (分布式事件)JS异步那些事 三 (Promise)JS异步那...

  • JS异步那些事 四(HTML 5 Web Workers)

    JS异步那些事 一 (基础知识)JS异步那些事 二 (分布式事件)JS异步那些事 三 (Promise)JS异步那...

  • JS异步那些事 二 (分布式事件)

    JS异步那些事 一 (基础知识)JS异步那些事 二 (分布式事件)JS异步那些事 三 (Promise)JS异步那...

  • JS异步那些事 五 (异步脚本加载)

    JS异步那些事 一 (基础知识)JS异步那些事 二 (分布式事件)JS异步那些事 三 (Promise)JS异步那...

  • JavaScript事件

    事件分类 事件的绑定方法 通过标签绑定事件 通过js获取DOM元素绑定事件 通过addEventListener属...

  • DOM的事件绑定、事件监听

    JS有三种常用的绑定事件的方法 在DOM元素上直接绑定 在JS代码中绑定 在JS中绑定事件监听函数 在DOM中直接...

  • js事件

    JS事件 事件绑定方式 事件对象 事件传播流 事件代理 一、事件绑定方式 方式一:通过HTML标签行间属性内绑定 ...

网友评论

      本文标题:js事件绑定那些事

      本文链接:https://www.haomeiwen.com/subject/pmjwottx.html