最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS事件绑定的常用方式实例总结

来源:动视网 责编:小采 时间:2020-11-27 22:00:20
文档

JS事件绑定的常用方式实例总结

JS事件绑定的常用方式实例总结:本文实例讲述了JS事件绑定的常用方式。分享给大家供大家参考,具体如下: 常用的事件绑定的几种方式有三种: 直接在 dom 元素上进行绑定。 用 on 绑定。 用 addEventListener、attachEvent 绑定。 一、直接在 dom 元素上进行绑定 <inpu
推荐度:
导读JS事件绑定的常用方式实例总结:本文实例讲述了JS事件绑定的常用方式。分享给大家供大家参考,具体如下: 常用的事件绑定的几种方式有三种: 直接在 dom 元素上进行绑定。 用 on 绑定。 用 addEventListener、attachEvent 绑定。 一、直接在 dom 元素上进行绑定 <inpu


本文实例讲述了JS事件绑定的常用方式。分享给大家供大家参考,具体如下:

常用的事件绑定的几种方式有三种:

  • 直接在 dom 元素上进行绑定。
  • 用 on 绑定。
  • 用 addEventListener、attachEvent 绑定。
  • 一、直接在 dom 元素上进行绑定

    <input id="btn1" type="button" onclick="test();" />
    
    

    二、用 on 绑定

    兼容性:在IE,FF,Chrome,Safari,Mozilla,Opera下都适用。

    // onclick绑定
    document.body.onclick = () => {
     console.log(111)
    }
    // 解绑
    document.body.onclick = null;
    
    

    但是,同一个 dom 元素上,on 只能绑定一个同类型事件,后者会覆盖前者,不同类型的事件可以绑定多个。

    三、用 addEventListener、attachEvent 绑定

    同一个 dom 元素上,用 addEventListener、attachEvent 可以绑定多个同类型事件。

    但是,addEventListener 事件执行顺序按照事件绑定的先后顺序执行;attachEvent 事件执行顺序则是随机的。

    addEventListener

    // 绑定
    document.body.addEventListener('click', bodyClick, false);
    // 解绑
    document.body.removeEventListener('click', bodyClick, false);
    
    

    注意:removeEventListener 第二个参数要和 addEventListener 指向同一个函数才能解绑成功。

    addEventListener 的第三个参数若为 false,函数在冒泡阶段执行;若为 true,函数在捕获阶段执行。默认为 false。

    <div id="box">
     <div id="child"></div>
    </div>
    
    
    box.addEventListener("click", function(){
     console.log("box");
    }, false);
    child.addEventListener("click", function(){
     console.log("child");
    });
    // 执行顺序为 child box
    
    
    box.addEventListener("click", function(){
     console.log("box");
    }, true);
    child.addEventListener("click", function(){
     console.log("child");
    });
    // 执行顺序为 box child
    
    

    兼容性

    Chrome 和 FireFox 只支持 addEventListener;IE 只支持 attachEvent(IE11开始不支持了)。

    所以必须对2种方法做兼容处理。原理是先判断 attachEvent 是否为真,如果为真则用 attachEvent 绑定事件,否则用 addEventListener 绑定事件。

    可以封装一个函数做兼容性处理:

    //dom绑定事件的元素,ev事件名,fn执行函数
    function myAddEvent(dom, ev, fn){
     if(dom.attachEvent){
     dom.attachEvent("on"+ev, fn);
     }else {
     dom.addEventListener(ev, fn, false);
     }
    }
    myAddEvent(d1, "click", ()=>{
     console.log(1111)
    });
    
    

    另外

    以上三种方式绑定的点击事件都可以用下面这条语句触发

    document.getElementById("btn").click();
    
    

    PS:关于javascript事件说明可参考本站javascript事件与功能说明大全:http://tools.jb51.net/table/javascript_event

    更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript事件相关操作与技巧大全》、《JavaScript操作DOM技巧总结》、《JavaScript页面元素操作技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript错误与调试技巧总结》

    希望本文所述对大家JavaScript程序设计有所帮助。

    文档

    JS事件绑定的常用方式实例总结

    JS事件绑定的常用方式实例总结:本文实例讲述了JS事件绑定的常用方式。分享给大家供大家参考,具体如下: 常用的事件绑定的几种方式有三种: 直接在 dom 元素上进行绑定。 用 on 绑定。 用 addEventListener、attachEvent 绑定。 一、直接在 dom 元素上进行绑定 <inpu
    推荐度:
    标签: 绑定 常用 事件
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top