事件冒泡

事件冒泡 : 当一个元素接收到事件的时候,会把他接收到的所有传播给他的父级,一直到顶层window.事件冒泡机制

oDiv1.onclick = fn1;  给**加事件,给元素加事件处理函数

事件函数绑定

oDiv1.onclick = fn1;//告诉div1,如果他接收到了一个点击事件,那么他就去执行fn1

给一个对象绑定一个事件处理函数的第一种形式

//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:捕获

/*document.addEventListener('click', fn1, false);

document.addEventListener('click', fn2, false);*/

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);

你可能感兴趣的:(事件冒泡)