您的位置:首页 > Web前端 > JavaScript

第3课 04 JS中级课程-事件绑定的第二种形式-4

2017-07-03 23:31 465 查看
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>04 JS中级课程-事件绑定的第二种形式-4</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
</head>
<body>
<script>
function fn1(){
alert(1);
}
function fn2(){
alert(2);
}

//document.onclick=fn1;
//document.onclick=fn2;//覆盖前面的函数fn1

//给一个对象的同一个事件绑定多个不同的函数

//给一个元素绑定绑定事件函数的第二种形式
//ie:obj.attachEvent(事件名称,事件函数)
//1:没有捕获
//2:事件名称有on
//3:事件函数执行的顺序:标准ie->正序  非标准ie->例序
//4:this指向window

//document.attachEvent("onclick",fn1);
//document.attachEvent("onclick",fn2);

//标准:obj.attchEventListener(事件名称,事件函数,是否捕获)
//1:有捕获
//2:事件名称没有on
//3:事件函数执行的顺序是正序
//4:this指向触发该事件的对象
//是否捕获:默认为false false:冒泡    true:捕获
//document.addEventListener("click",fn1,false)
//document.addEventListener("click",fn2,false)

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

function fn3(a,b){
alert(this);
alert(a+b);
}
//fn3(10,5)//window
fn3.call(1,20,30)   //调用函数  fn1()==fn1.call()

function bind(obj,eventName,fn){
if(obj.addEventListener){
obj.addEventListener(eventName,fn,false)
}else{
obj.attachEvent("on"+eventName,function(){
fn.call(obj)
})
}
}

bind(document,"click",fn1)
bind(document,"click",fn2)
</script>
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: