1. <script>
  2. //call 函数下的一个方法,call方法第一个参数可以改变函数执行过程中的内部this的指向,call方法第二个参数开始就是原来函数的参数列表。
  3.  
  4.   function fn1(a, b) {
  5. alert(this);
  6. alert(a + b);
  7.   }
  8.  
  9. fn1(); //window
  10. fn1.call(null, 10, 20); //调用函数 fn1() == fn1.call()
  11. </script>
  1. <script>
  1.   function fn1() {
  2.    alert(this);
  3.   }
  4.   function fn2() {
  5.    alert(2);
  6.   }
  1. //1.给一个对象绑定事件处理函数的第一种形式
      //obj.onclick = fn1;
      //给一个对象的同一个事件绑定多个不同的函数
  2.   //document.onclick = fn1;
  3.   //document.onclick = fn2; //会覆盖前面绑定fn1

  4. //2.给一个元素绑定事件函数的第二种形式
  5.  
  6. /*
  7.   IE:obj.attachEvent(事件名称,事件函数);
  8.    1.没有捕获
  9.    2.事件名称有on
  10.    3.事件函数执行的顺序:标准ie ---> 正序 非标准ie---> 倒序
  11.    4.this指向window
  12.   标准:obj.addEventListener(事件名称,事件函数,是否捕获);
  13.    1.有捕获
  14.    2.事件名称没有on
  15.    3.事件执行的顺序是正序
  16.    4.this触发该事件的对象
  17. */
  18.  
  19. /*
    document.attachEvent('onclick', function() {
  20. fn1.call(document);
  21. });
  22. document.attachEvent('onclick', fn2);
    */
  23.  
  24. //是否捕获 : 默认是false false:冒泡 true:捕获
  25.  
  26. function bind(obj, evname, fn) {
  27. if (obj.addEventListener) {
  28. obj.addEventListener(evname, fn, false);
  29. } else {
  30. obj.attachEvent('on' + evname, function() {
  31. fn.call(obj);
  32. });
  33. }
  34. }
  35.  
  36. bind(document, 'click', fn1);
  37. bind(document, 'click', fn2);
  38. </script>
  1. <script>
  2.  
  3. //第一种事件绑定形式的取消
  4.  
  5. document.onclick = fn1;
  6. document.onclick = null; //取消
  7.  
  8. /*
    第二种事件绑定形式的取消
  9.   IE : obj.detachEvent(事件名称,事件函数);
  10.   标准 : obj.removeEventListener(事件名称,事件函数,是否捕获);
  11. */
  12. document.attachEvent('onclick', fn1);
  13. document.attachEvent('onclick', fn2);
  14. document.detachEvent('onclick', fn1); //取消
  15.  
  16. document.addEventListener('click', fn1, false);
  17. document.addEventListener('click', fn1, true);
  18. document.addEventListener('click', fn2, false);
  19.  
  20. document.removeEventListener('click', fn1, false); //取消
  21. </script>

事件绑定、取消的二种形式 & call的更多相关文章

  1. Javascript事件绑定的几种方式

    Javascript的事件绑定主要有四种方法(一下在IE中运行正常,但不保证其他浏览器): [注:onXXX为某一事件,fun为某一function,domId为某一DOM对象id,event类型见后 ...

  2. JavaScript-dom4 date string 事件绑定

    内置date <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  3. JavaScript事件绑定的常见方式

    在Javascript中,事件绑定一共有3种方式: ① 行内绑定 ② 动态绑定 ③ 事件监听 原文: https://mbd.baidu.com/newspage/data/landingsuper? ...

  4. JS事件绑定的两种形式

    第一种: obj.on*=function(){} var btn=document.getElementById('myBtn'); btn.onclick=function(){ alert(1) ...

  5. JavaScript事件绑定的三种方式

    (一)事件绑定的三种方式 (1)通过on的形式 <script type="text/javascript"> var div = document.getElemen ...

  6. 第一百二十一节,JavaScript事件绑定及深入

    JavaScript事件绑定及深入 学习要点: 1.传统事件绑定的问题 2.W3C事件处理函数 3.IE事件处理函数 4.事件对象的其他补充 事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型) ...

  7. 移动端和pc端事件绑定方式以及取消浏览器默认样式和取消冒泡

    ### 两种绑定方式 (DOM0)1.obj.onclick = fn; (DOM2)2. ie:obj.attachEvent(事件名称,事件函数); 1.没有捕获(非标准的ie 标准的ie底下有 ...

  8. jQuery使用(七):事件绑定与取消,及自定事件的实现原理

    实例方法: on() one() off() trigger() hover() 一.绑定事件与jQuery事件委托 $(selector).eventType(fn); $(selector).on ...

  9. ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪

    ASP.NET MVC深入浅出(被替换)   一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...

随机推荐

  1. 用 SDL2 显示一张图片

    来源: http://adolfans.github.io/sdltutorialcn/ (中文教程) http://www.willusher.io/pages/sdl2/ (英文教程) 环境:SD ...

  2. B - Mike and Fun

    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description Mike a ...

  3. NC文件的处理【netcdf】

    NC是气象领域数据的标准格式之一. 能够更好的存储格点数据. 下面为测试NC文件的读写. git:https://git.oschina.net/ipnunu/nctest pom.xml <p ...

  4. E20170426-gg

    recursive   adj. 回归的,递归的; removal    n. 除去; 搬迁; 免职; 移走; customize vt. 定制,定做; 按规格改制;

  5. Codeforces - 814B - An express train to reveries - 构造

    http://codeforces.com/problemset/problem/814/B 构造题烦死人,一开始我还记录一大堆信息来构造p数列,其实因为s数列只有两项相等,也正好缺了一项,那就把两种 ...

  6. Codeforces645C【二分】

    题意: 给你一个序列,0表示空,1表示非空 你需要填k+1个位置,然后找出某一点到其他所有点都是最近的,然后输出一个最近的情况的最远点. 思路: 哎,好菜哦...不会写这个二分... 遍历每个可取的位 ...

  7. poj1979【基础bfs/dfs】

    挑战习题搜索-1 题意: 给定起点,然后求一个可以到达的数量,位置"."都可以走.每次应该是上下左右都可以走. 思路: 这题应该DFS更好写,但是BFS也可以写吧. 好久没写了- ...

  8. Luogu P1141 01迷宫【搜索/dfs】By cellur925

    题目传送门 我tm到现在还需要刷这种水搜索...我退役吧. 但就是搜索弱嘛 补一补嘛qwq 题目大意:给你一张地图与许多询问,每次询问求这个点所在联通块的点的个数. 所以这个题目的本质就是在求联通块. ...

  9. 用sublime text3 直接编译C/C++,java

    首先你得下载好 这是我之前安装codeblocks时留下的里面有cpp,c++,gcc,g++. 第二步就是建立环境变量 这三个配置完成就ok 了 然后进入sublime text 3中,找到工具(t ...

  10. python计算代码运行时间的装饰器

    import time def cal_time(func): def wrapper(*args, **kwargs): t1 = time.time() result = func(*args, ...