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


Posted in Javascript onFebruary 14, 2017

本文实例为大家分享了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 相关文章推荐
js弹窗代码 可以指定弹出间隔
Jul 03 Javascript
jQuery中$.fn的用法示例介绍
Nov 05 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 Javascript
JS延时提示框实现方法详解
Nov 26 Javascript
node.js入门实例helloworld详解
Dec 23 Javascript
JavaScript常用本地对象小结
Mar 28 Javascript
详谈javascript精度问题与调整
Jul 08 Javascript
Vue.js用法详解
Nov 13 Javascript
Vue弹出菜单功能的实现代码
Sep 12 Javascript
微信小程序通过一个json实现分享朋友圈图片
Sep 03 Javascript
el-table-column 内容不自动换行的解决方法
Aug 14 Vue.js
javascript深拷贝和浅拷贝详解
Feb 14 #Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 #Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 #Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
Feb 14 #Javascript
js基于myFocus实现轮播图效果
Feb 14 #Javascript
javascript 单例模式详解及简单实例
Feb 14 #Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
Feb 14 #Javascript
You might like
php下删除字符串中HTML标签的函数
2008/08/27 PHP
PHP 错误之引号中使用变量
2009/05/04 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
php中apc缓存使用示例
2013/12/25 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
php显示时间常用方法小结
2015/06/05 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
vue内置指令详解
2018/04/03 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
Python中IPYTHON入门实例
2015/05/11 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
Python用户自定义异常的实现
2020/12/25 Python
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
微电影大赛策划方案
2014/06/05 职场文书
高中生物教学反思
2016/02/20 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
Python如何加载模型并查看网络
2022/07/15 Python