当前位置: 首页 > 编程笔记 >

javascript事件的绑定基础实例讲解(34)

何兴邦
2023-03-14
本文向大家介绍javascript事件的绑定基础实例讲解(34),包括了javascript事件的绑定基础实例讲解(34)的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了js事件绑定的具体代码,供大家参考,具体内容如下

<html> 
 <head> 
  <meta charset="UTF-8"> 
  <title></title> 
  <script type="text/javascript"> 
    
   window.onload = function(){ 
     
    var btn01 = document.getElementById("btn01"); 
     
    //为按钮绑定一个单击响应函数 
    /*btn01.onclick = function(){ 
     alert(1); 
    }; 
     
    //再为按钮绑定一个单击响应函数 
    btn01.onclick = function(){ 
     alert(2); 
    };*/ 
     
    /* 
     * 使用 对象.事件 的形式不能同时为一个元素的同一个事件绑定多个处理函数, 
     * 如果绑定了多个,则后边的会将前边的覆盖掉 
     * 
     * 如果需要同时为一个事件绑定多个响应函数,则可以使用 
     * addEventListener()这个方法来绑定响应函数 
     *  参数: 
     *   1.要绑定的事件(字符串 不要on) 
     *   2.回调函数(事件触发时,该函数将会执行) 
     *   3.是否在捕获阶段触发事件(都传false) 
     * 
     * 使用这种方式可以同时为一个事件绑定多个响应函数, 
     *  响应函数按照绑定的顺序执行 
     * 
     * 该方法不支持IE8及以下的浏览器 
     *  在这些浏览器中需要使用 attachEvent()方法来实现相同的功能 
     */ 
     
    /*btn01.addEventListener("click",function(){ 
     alert(1); 
    },false); 
     
    btn01.addEventListener("click",function(){ 
     alert(2); 
    },false); 
     
    btn01.addEventListener("click",function(){ 
     alert(3); 
    },false);*/ 
     
    /* 
     * attachEvent() 
     * - 参数: 
     *  1.事件的类型(字符串 要on) 
     *  2.回调函数 
     * 
     * attachEvent() 
     * - 可以同时为一个事件绑定多个响应函数,但是它的执行顺序不一定 
     *  ie9 ie10 先绑定先执行 
     *  ie8 后绑定先执行 
     * 
     * 这个方法只支持IE10及以下的浏览器 
     */ 
    /*btn01.attachEvent("onclick" , function(){ 
     alert(1); 
    });*/ 
     
    /*btn01.attachEvent("onclick" , function(){ 
     alert(2); 
    }); 
     
    btn01.attachEvent("onclick" , function(){ 
     alert(3); 
    });*/ 
     
    /* 
     * 在正常浏览器中使用addEventListener()来绑定 
     *  它的响应函数中的this就是绑定事件的对象 
     * 而在IE中,使用的是attachEvent()来绑定的事件 
     *  而它的响应函数中的this是window 
     */ 
    bind(btn01 , "click" , function(){ 
     alert(this); 
    }); 
     
   }; 
    
   /* 
    * 自定义一个函数,来兼容所有的浏览器 
    * 参数: 
    *  obj 要绑定事件的对象 
    *  eventStr 事件的字符串,不要on 
    *  callback 回调函数,事件触发时调用的函数 
    */ 
   function bind(obj , eventStr , callback){ 
     
    if(obj.addEventListener){ 
     //如果是正常浏览器 
     obj.addEventListener(eventStr , callback , false); 
    }else{ 
     //IE8 
     /* 
      * attachEvent()中的回调函数的this是window,需要修改为obj 
      * this是谁由函数的调用方式决定 
      * 1.以函数的形式调用,this是window 
      * 2.以方法的形式调用,this是调用方法的对象 
      * 3.以构造函数的形式调用,this是新创建的对象 
      * 4.使用call和apply调用时,this是第一个参数 
      */ 
     obj.attachEvent("on"+eventStr , function(){ 
      //在attchEvent()中不传递callback而是传递一个匿名函数 
      //这样在事件触发时,浏览器不会调用callback而是调用匿名函数 
      //在匿名函数中来调用回调函数 
      callback.call(obj); 
       
     }); 
    } 
   } 
    
    
  </script> 
 </head> 
 <body> 
   
  <button id="btn01">点我一下</button> 
   
 </body> 
</html> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍javascript事件的传播基础实例讲解(35),包括了javascript事件的传播基础实例讲解(35)的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js事件的传播,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍JavaScript事件方法(实例讲解),包括了JavaScript事件方法(实例讲解)的使用技巧和注意事项,需要的朋友参考一下 废话不多说,直接上代码 以上这篇JavaScript事件方法(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍javascript基础知识讲解,包括了javascript基础知识讲解的使用技巧和注意事项,需要的朋友参考一下 本篇适合javascript新手或者学了前端一段时间,对js概念不清晰的同学~~。 学习目的 本文针对javascript基础薄弱的同学,可以加深对javascript的理解。 本文将讲述以下几点对于初学者开说javascript(有的是大部分语言都有的)的坑 讲解内容如

  • 本文向大家介绍PHP bin2hex()函数基础实例讲解,包括了PHP bin2hex()函数基础实例讲解的使用技巧和注意事项,需要的朋友参考一下 PHP bin2hex() 函数 实例 把 "Hello World!" 转换为十六进制值: 定义和用法 bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。 语法 实例 1 把一个字符

  • 本文向大家介绍Java绘图技术基础(实例讲解),包括了Java绘图技术基础(实例讲解)的使用技巧和注意事项,需要的朋友参考一下 如下所示: 1、Component类提供了两个和绘图相关最重要的方法 1)paint(Graphics g)绘制组件外观 2)repaint()刷新组件的外观 当组件第一次在屏幕显示时,程序会自动的调用paint()方法来绘制组件。 2、关于Graphics类 运行效果如

  • 本文向大家介绍Google 地图事件实例讲解,包括了Google 地图事件实例讲解的使用技巧和注意事项,需要的朋友参考一下 Google 地图事件 点击标记缩放地图 我们仍然使用上一遍文章使用的英国伦敦的地图。 点用户点击标记时实现缩放地图的功能(点击标记时绑定地图缩放事件)。 代码如下: 使用 addListener() 事件处理程序来注册事件的监听。该方法使用一个对象,一个事件来监听,当指定的