码迷,mamicode.com
首页 > 其他好文 > 详细

事件绑定的第二种形式 & call

时间:2017-04-08 22:41:07      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:绑定   倒序   cal   覆盖   nbsp   参数   event   顺序   alert   

<script>
//call 函数下的一个方法,call方法第一个参数可以改变函数执行过程中的内部this的指向,call方法第二个参数开始就是原来函数的参数列表。

  function fn1(a, b) {
    alert(this);
    alert(a + b);
  }

fn1();    //window
fn1.call(null, 10, 20);    //调用函数    fn1() == fn1.call()
</script>
<script>
//给一个对象绑定一个事件处理函数的第一种形式
//obj.onclick = fn;
function fn1() {
    alert(this);
}
function fn2() {
    alert(2);
}

//document.onclick = fn1;
//document.onclick = fn2;    //会覆盖前面绑定fn1

//给一个对象的同一个事件绑定多个不同的函数
//给一个元素绑定事件函数的第二种形式

/*
IE:obj.attachEvent(事件名称,事件函数);
    1.没有捕获
    2.事件名称有on
    3.事件函数执行的顺序:标准ie-》正序   非标准ie-》倒序
    4.this指向window
标准:obj.addEventListener(事件名称,事件函数,是否捕获);
    1.有捕获
    2.事件名称没有on
    3.事件执行的顺序是正序
    4.this触发该事件的对象
*/

/*
document.attachEvent(‘onclick‘, function() { fn1.call(document); }); document.attachEvent(‘onclick‘, fn2);
*/ //是否捕获 : 默认是false false:冒泡 true:捕获 function bind(obj, evname, fn) { if (obj.addEventListener) { obj.addEventListener(evname, fn, false); } else { obj.attachEvent(on + evname, function() { fn.call(obj); }); } } bind(document, click, fn1); bind(document, click, fn2); </script>

 

事件绑定的第二种形式 & call

标签:绑定   倒序   cal   覆盖   nbsp   参数   event   顺序   alert   

原文地址:http://www.cnblogs.com/chiangyibo/p/6683127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!