Skip to Content
JAVASCRIPT網頁應用程式設計
book

JAVASCRIPT網頁應用程式設計

by Alex MacCaw
January 2013
Intermediate to advanced
332 pages
5h 23m
Chinese
GoTop Information, Inc.
Content preview from JAVASCRIPT網頁應用程式設計
事件(Event)和監聽
|
25
Netscape 4 採用的做法,稱為事件
捕捉
capturing
,這種做法會先透過觸發事件的網
頁元件,找出它最上層的元件,然後從最上層元件開始觸發事件監聽器,再逐步由下層
元件觸發事件,一直輪到觸發事件的元件為止—也就是依由外向內的順序。
Microsoft 採用的做法,稱為事件
氣泡傳遞
bubbling
,這種做法是先透過觸發事件的
網頁元件觸發事件監聽器,再逐步由上層元件觸發事件,一直擴散到最上層元件為止—
也就是依由內向外的順序。
對我而言,事件氣泡傳遞的做法比較合邏輯,而且這也應該是大多數情況下會採用的做
法。W3C 最後是採取折衷方案—在規格中同時納入兩種做法。符合 W3C 規範的事件,
會先用事件捕捉的方式,由最上層元件開始由外向內觸發事件監聽器,一直到找到真正
觸發事件的元件,再開始用事件氣泡傳遞的方式,由內向外再次觸發事件監聽器。
如果想自行決定該採用哪種事件處理模式(捕捉或氣泡傳遞),就需要用到
addEventListener()
的第三組參數(是否採用捕捉模式)。如果傳入
ture
,就會採用捕
捉模式;如果傳入
false
,就會採用氣泡傳遞模式。
// 最後一組引數設定為 false,表示要採用氣泡傳遞模式
button.addEventListener("click", function(){ /* ... */ }, false);
相信絕大多數情況,應該都會需要用到氣泡傳遞模式。因此,如果實在不確定該選用哪
種模式,建議就把
addEventListener() ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

Ethan Brown, 武舎 広幸, 武舎 るみ
PHP编程:第4版

PHP编程:第4版

Kevin Tatroe, Peter MacIntyre
Strange Code

Strange Code

Ronald T. Kneusel
Perfecting Your Thinking Skills

Perfecting Your Thinking Skills

MIT Sloan Management Review

Publisher Resources

ISBN: 9789862766811