事件冒泡 :當乙個元素接收到事件的時候,會把它接收到的所有傳播給它的父級。一直到頂層window。這種現象稱之為事件冒泡機制。出去的事件觸發。
阻止冒泡 :當前要阻止冒泡的事件函式中,呼叫event.cancelbubble = true;
事件捕獲 :ie下是沒有的,在繫結事件中,標準下是有的。進來的事件觸發。
給物件繫結函式的形式:
1.給乙個物件繫結乙個事件處理函式:
obj.onclick = fn;
2.給乙個物件的同乙個事件繫結多個不同的函式:
ie :obj.attachevent(事件名稱,事件函式)
1.沒有捕獲
2.事件名稱有on
3.事件函式執行的順序 :標準ie --> 正序,非標準ie ---> 倒序
4.this 指向 window
標準 :obj.addeventlistener(事件名稱,事件函式,是否捕獲)
1.有捕獲
2.事件名稱沒有on
3.事件函式執行的順序 :正序
4.this 指向觸發該事件的物件
取消事件繫結:
第一種事件繫結形式的取消:
obj.onclick = null;
第二種:
ie :obj.detachevent(事件名稱,事件函式)
標準 :obj.removeeventlistener(事件名稱,事件函式,是否捕獲)
是否捕獲:預設是false false : 冒泡 true : 捕獲
call函式下的乙個方法,call方法的第乙個引數可以改變函式執行過程中的內部this的指向。
call 方法的第二個引數開始就是原來函式的引數列表。
事件捕獲示例**:
1doctype html
>
2<
html
lang
="en"
>
3<
head
>
4<
title
>事件捕獲
title
>
5<
meta
charset
="utf-8"
>
6<
meta
name
="viewport"
content
="width=device-width, initial-scale=1"
>
7<
script
>
8window.onload
=function
()13
function
fn2()
17/*
18document.onclick = fn1;
19document.onclick = fn2; //後面的覆蓋前面的
20*/
2122
//ie寫法
23//
document.attachevent('onclick',fn1);
24//
document.attachevent('onclick',fn2);
2526
//標準寫法
27//
document.addeventlistener('click',fn1,false);
28//
document.addeventlistener('click',fn2,false);
2930
//相容寫法
31function
bind(obj, evname, fn)
else
);38}39
}40bind(document,
'click
',fn1);
41bind(document,
'click
',fn2);42}
4344
script
>
45head
>
46<
body
>
47<
div>
4849
div>
50body
>
51html
>
call示例**:
1doctype html
>
2<
html
lang
="en"
>
3<
head
>
4<
title
>call
title
>
5<
meta
charset
="utf-8"
>
6<
meta
name
="viewport"
content
="width=device-width, initial-scale=1"
>
7<
script
>
8window.onload
=function
()12
13function
fn2(a,b)
1718
//fn1(); //window
19//
fn1.call(); //彈出window,此時就等同於fn1()
20//
fn1.call(1); //彈出1,call的第乙個引數為this的指向
21//
fn2.call(1,4,10); //依次彈出1,14,如果函式有引數時,則第乙個為this的指向,後面為函式帶的引數
22fn2.call(
null,4
,10); //
依次彈出window,14,第乙個引數為null表示不改變this指向。23}
2425
26script
>
27head
>
28<
body
>
29<
div>
3031
div>
32body
>
33html
>
js事件冒泡
什麼是js事件冒泡?在乙個物件上觸發某類事件 比如單擊onclick事件 如果此物件定義了此事件的處理程式,那麼此事件就會呼叫這個處理程式,如果沒有定義此事件處理程式或者事件返回true,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父級物件所有同類事件都將被啟用 或者它到達了物件...
js事件冒泡
2012 06 19 22 02 23 標籤 什麼是js事件冒泡?在乙個物件上觸發某類事件 比如單擊onclick事件 如果此物件定義了此事件的處理程式,那麼此事件就會呼叫這個處理程式,如果沒有定義此事件處理程式或者事件返回true,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父...
JS事件冒泡
事件冒泡 demo 冒泡現象 html 1 script src index.js script 2 style 3 c 8 b13 a 18style 19head 20 body 21 div id a 22 div id b 23 div id c 2425 div 26div 27div 2...