• 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。

  • 相关阅读:
    弹出窗口失败 Debug Assertion Failed!
    颜色设置 OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 的用法
    启动项
    进程PK线程
    获取代码运行时间,获取当前系统时间,日期
    在WindowsPhone8中生成基于MVVM Light的LongListSelector拼音检索绑定
    微软认证考试Mcts70511 part1翻译_Part2_使用控件_ContentControl
    微软认证考试Mcts70511 part1翻译_Part1_考分分配
    ORA14452: attempt to create, alter or drop an index on temporary table already in use
    HPUX日常工作整理
  • 原文地址:https://www.cnblogs.com/clearsky/p/5754682.html
Copyright © 2020-2023  润新知