zoukankan      html  css  js  c++  java
  • JavaScript中事件绑定的方法总结

    最近收集了一些关于JavaScript绑定事件的方法,汇总了一下,不全面,但是,希望便于以后自己查看。

    JavaScript中绑定事件的方法主要有三种:

    1 在DOM元素中直接绑定

    2 JavaScript代码中直接绑定

    3 绑定事件监听函数

    一、在DOM元素中直接绑定

    也就是直接在html标签中通过 onXXX=“” 来绑定。举个例子:

    <input type="button" value="点我呦" onclick="alert("hello world!")"/>
    <!--或者-->
    <input type="button" value="点我呦" onclick="testAlert()">
    <script type="text/javascript">
       function testAlert(){
          alert("hello world!");
       }
    </script>

    二、JavaScript代码中直接绑定

    在JavaScript中通过查找DOM对象,对其绑定,elementObject.onclick=function(){} 的格式,举例如下:

    <input type="button" value="点我呦"  id="demo">
    <script type="text/javascript">
    
       document.getElementById("demo").onclick=function testAlert(){
          alert("hello world!");
       }
    </script>

    三、绑定事件监听函数

    这里需要了解addEventListener()和attachEvent()的函数语法。

    1 elementObject.addEventListener(eventName,handle,useCapture) (支持主流浏览器、以及IE9.0及以上)

    eventName:要绑定的事件名称。注意写法,比如点击事件,写成click,而不是onclick.

    handle: 处理事件的函数名。但是写法上没有小括号。

    useCapture:Boolean类型,是否使用捕获,一般用false,具体涉及到的会在后边总结。

    2 elementObject.attachEvent(eventName,handle);(仅支持IE8及以下)

    从网上找到了一个兼容的好办法,相比较if。。else语句,这个方法用的是try..catch错误处理语句,可以避免浏览器出现错误提示。

    function addEvent(obj,type,handle){
       try{
         obj.addEventListener(type,handle,false);
       }catch(e){
         try{
    obj.attachEvent('on'+type,handle);
    }
    catch(e){
    obj['on' + type]=handle;//早期浏览器
    }
    } }

    四、说说JQuery中绑定事件的几种方法。

    主要有on()、bind()、live()、delegate()等几种,相对应的解绑就是off()、unbind()、live()、undelegate();

    1 on()、bind()、live()、delegate()中除了bind(),其他的都可以给后来追加的元素对象添加绑定事件。

    2 这几种方法中各自有对应支持的JQuery版本。

    3 在给动态添加的页面元素绑定事件时,通常用on()方法。

    具体的更多了解,可以点击这个链接 http://www.cnblogs.com/DemoJin/p/4794372.html。

  • 相关阅读:
    1052 Linked List Sorting (25 分)
    1051 Pop Sequence (25 分)
    1050 String Subtraction (20 分)
    1049 Counting Ones (30 分)
    1048 Find Coins (25 分)
    1047 Student List for Course (25 分)
    1046 Shortest Distance (20 分)
    1045 Favorite Color Stripe (30 分)
    1044 Shopping in Mars (25 分)
    1055 The World's Richest (25 分)
  • 原文地址:https://www.cnblogs.com/clearsky/p/5754682.html
Copyright © 2011-2022 走看看