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)和監聽
事件可稱得上是 JavaScript 應用程式的核心,它不但是使用者與應用程式互動的第一道
防線,也是觸發一切程式邏輯的起點。不過,它也是 JavaScript 尚未標準化時,最常引
發問題的環節。當 Netscape Microsoft 的瀏覽器戰爭進行得如火如荼之際,雙方陣營
都故意選用截然不同、互不相容的事件模型(event model)。雖然後來 W3C 提供了標準
化的事件模型,但 IE 還是堅持要撐到最新版本 IE9 推出之時,才願意捨棄先前特立獨
行的事件模型實作方式。
還好,jQuery Prototype 這類函式庫,已經貼心的幫我們處理掉這些瀏覽器相容性問
題,只要面對這類函式庫所提供的單一 API,不需自行處理所有的事件模型實作方式,
就能讓一切正常運作。儘管如此,建議最好還是了解各種事件實作方式背後的運作原
理。本章會先花些篇幅說明一下 W3C 模型,再帶你看看利用這些廣受好評的函式庫所
撰寫的範例程式。
監聽事件
如果想要監聽事件,需要靠
addEventListener()
函式,這個函式會接收三組參數:
事件
類型
(例如
click
)、
監聽器函式
(也就是回叫函式),以及
是否採用捕捉模式
(稍後會再詳
細說明這組參數的用途)。利用前兩組參數,就可以將監聽器函式依附在 DOM 元件上。
這麼一來,只要觸發 DOM 元件的某個事件(例如
click
),就會執行依附在該元件上的
函式:
var button = document.getElementById("createButton"); ...
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