事件冒泡 : 當一個元素接收到事件的時候,會把他接收到的所有傳播給他的父級,一直到頂層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);