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 相关文章推荐
再谈javascript 动态添加样式规则 W3C校检
Dec 25 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 Javascript
jQuery父级以及同级元素查找介绍
Sep 04 Javascript
深入解读JavaScript中的Hoisting机制
Aug 12 Javascript
轻松掌握JavaScript中的Math object数学对象
May 26 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
Sep 05 Javascript
canvas 绘制圆形时钟
Feb 22 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
Apr 11 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 Javascript
JS 5种遍历对象的方式
Jun 16 Javascript
Vue实现input宽度随文字长度自适应操作
Jul 29 Javascript
Javascript节流函数throttle和防抖函数debounce
Dec 03 Javascript
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
MYSQL数据库初学者使用指南
2006/11/16 PHP
PHP中的array数组类型分析说明
2010/07/27 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
ThinkPHP 404页面的设置方法
2015/01/14 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
JavaScript 学习笔记(十一)
2010/01/19 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
python学习数据结构实例代码
2015/05/11 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
python2与python3共存问题的解决方法
2018/09/18 Python
python-numpy-指数分布实例详解
2019/12/07 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
村委会贫困证明
2014/01/14 职场文书
普通简短的个人自我评价
2014/02/15 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
对标管理实施方案
2014/03/12 职场文书
租赁意向书范本
2014/04/01 职场文书
作文批改评语大全
2014/04/23 职场文书
2014年校长工作总结
2014/12/11 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技