From 0ccebc7eb352eda4d26d0b876fea36f24f482eec Mon Sep 17 00:00:00 2001 From: MDN Date: Sat, 17 Apr 2021 00:11:36 +0000 Subject: [CRON] sync translated content --- files/zh-tw/_redirects.txt | 1 + files/zh-tw/_wikihistory.json | 14 +- .../creating_and_triggering_events/index.html | 145 +++++++++++++++++++++ .../creating_and_triggering_events/index.html | 144 -------------------- 4 files changed, 153 insertions(+), 151 deletions(-) create mode 100644 files/zh-tw/orphaned/web/guide/events/creating_and_triggering_events/index.html delete mode 100644 files/zh-tw/web/guide/events/creating_and_triggering_events/index.html (limited to 'files/zh-tw') diff --git a/files/zh-tw/_redirects.txt b/files/zh-tw/_redirects.txt index 49ffb976ba..9e057c89e9 100644 --- a/files/zh-tw/_redirects.txt +++ b/files/zh-tw/_redirects.txt @@ -644,6 +644,7 @@ /zh-TW/docs/Web/Guide/DOM /zh-TW/docs/conflicting/Web/API/Document_Object_Model /zh-TW/docs/Web/Guide/DOM/Manipulating_the_browser_history /zh-TW/docs/Web/API/History_API /zh-TW/docs/Web/Guide/DOM/Using_full_screen_mode /zh-TW/docs/Web/API/Fullscreen_API +/zh-TW/docs/Web/Guide/Events/Creating_and_triggering_events /zh-TW/docs/orphaned/Web/Guide/Events/Creating_and_triggering_events /zh-TW/docs/Web/Guide/HTML /zh-TW/docs/Learn/HTML /zh-TW/docs/Web/Guide/HTML/Canvas_tutorial /zh-TW/docs/Web/API/Canvas_API/Tutorial /zh-TW/docs/Web/Guide/HTML/Canvas_tutorial/Applying_styles_and_colors /zh-TW/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors diff --git a/files/zh-tw/_wikihistory.json b/files/zh-tw/_wikihistory.json index e287862822..e1c57a02d0 100644 --- a/files/zh-tw/_wikihistory.json +++ b/files/zh-tw/_wikihistory.json @@ -5291,13 +5291,6 @@ "gportioli" ] }, - "Web/Guide/Events/Creating_and_triggering_events": { - "modified": "2019-03-23T22:48:01.128Z", - "contributors": [ - "jackblackevo", - "Shiyou" - ] - }, "Web/Guide/Events/Event_handlers": { "modified": "2020-05-13T00:05:39.122Z", "contributors": [ @@ -9152,5 +9145,12 @@ "contributors": [ "ianchen0119" ] + }, + "orphaned/Web/Guide/Events/Creating_and_triggering_events": { + "modified": "2019-03-23T22:48:01.128Z", + "contributors": [ + "jackblackevo", + "Shiyou" + ] } } \ No newline at end of file diff --git a/files/zh-tw/orphaned/web/guide/events/creating_and_triggering_events/index.html b/files/zh-tw/orphaned/web/guide/events/creating_and_triggering_events/index.html new file mode 100644 index 0000000000..8bd616a73d --- /dev/null +++ b/files/zh-tw/orphaned/web/guide/events/creating_and_triggering_events/index.html @@ -0,0 +1,145 @@ +--- +title: 建立或觸發事件 +slug: orphaned/Web/Guide/Events/Creating_and_triggering_events +tags: + - Advanced + - DOM + - Guide + - JavaScript + - 事件 +translation_of: Web/Guide/Events/Creating_and_triggering_events +original_slug: Web/Guide/Events/Creating_and_triggering_events +--- +

本文介紹如何建立和觸發事件。

+ +

建立自定義事件

+ +

事件可以用 {{domxref("Event")}} constructor 建立,如下所示:

+ +
var event = new Event('build');
+
+// 監聽事件
+elem.addEventListener('build', function (e) { ... }, false);
+
+// 觸發事件
+elem.dispatchEvent(event);
+ +

除了 Internet Explorer 以外,大多數的瀏覽器都支持這個 constructor 。若要能夠支援 Internet Explore 的更詳細的方法,可以參考段落《早期的做法》。

+ +

增加自定義的資料--CustomEvent()

+ +

要在事件的 object 追加其他資料,能使用 {{domxref("CustomEvent")}} 介面。它有 detail 屬性,可以用來傳送自訂資料。
+ 舉例來說,可以以下面方式建立事件:

+ +
var event = new CustomEvent('build', { 'detail': elem.dataset.time });
+ +

它可以讓你傳送自訂資料到事件的監聽器:

+ +
function eventHandler(e) {
+  log('The time is: ' + e.detail);
+}
+
+ +

早期的做法

+ +

早期建立事件的方式參考了 Java 的 API 。下為一個早期作法的例子:

+ +
// 建立事件
+var event = document.createEvent('Event');
+
+// 設定事件名稱為 “build” 。
+event.initEvent('build', true, true);
+
+// 監聽事件
+elem.addEventListener('build', function (e) {
+  // e.target matches elem
+}, false);
+
+// 事件對象可以是任一 HTML 元素或是 EventTarget 。
+elem.dispatchEvent(event);
+
+
+ +

觸發自定義事件

+ +

下面的例子演示了一個複選框藉由 DOM 的 methods 模擬一次點擊(換言之,讓程式執行一次「點擊事件」。)。 觀看實例

+ +
function simulateClick() {
+  var event = new MouseEvent('click', {
+    'view': window,
+    'bubbles': true,
+    'cancelable': true
+  });
+  var cb = document.getElementById('checkbox');
+  var canceled = !cb.dispatchEvent(event);
+  if (canceled) {
+    // A handler called preventDefault.
+    alert("canceled");
+  } else {
+    // None of the handlers called preventDefault.
+    alert("not canceled");
+  }
+}
+ +

瀏覽器的支援度

+ +

 

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)EdgeInternet ExplorerOperaSafari (WebKit)
Event() constructor1511{{CompatVersionUnknown}}{{CompatNo}}11.606
+
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}6
+
+ +

延伸閱讀

+ + diff --git a/files/zh-tw/web/guide/events/creating_and_triggering_events/index.html b/files/zh-tw/web/guide/events/creating_and_triggering_events/index.html deleted file mode 100644 index c198adaa5e..0000000000 --- a/files/zh-tw/web/guide/events/creating_and_triggering_events/index.html +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: 建立或觸發事件 -slug: Web/Guide/Events/Creating_and_triggering_events -tags: - - Advanced - - DOM - - Guide - - JavaScript - - 事件 -translation_of: Web/Guide/Events/Creating_and_triggering_events ---- -

本文介紹如何建立和觸發事件。

- -

建立自定義事件

- -

事件可以用 {{domxref("Event")}} constructor 建立,如下所示:

- -
var event = new Event('build');
-
-// 監聽事件
-elem.addEventListener('build', function (e) { ... }, false);
-
-// 觸發事件
-elem.dispatchEvent(event);
- -

除了 Internet Explorer 以外,大多數的瀏覽器都支持這個 constructor 。若要能夠支援 Internet Explore 的更詳細的方法,可以參考段落《早期的做法》。

- -

增加自定義的資料--CustomEvent()

- -

要在事件的 object 追加其他資料,能使用 {{domxref("CustomEvent")}} 介面。它有 detail 屬性,可以用來傳送自訂資料。
- 舉例來說,可以以下面方式建立事件:

- -
var event = new CustomEvent('build', { 'detail': elem.dataset.time });
- -

它可以讓你傳送自訂資料到事件的監聽器:

- -
function eventHandler(e) {
-  log('The time is: ' + e.detail);
-}
-
- -

早期的做法

- -

早期建立事件的方式參考了 Java 的 API 。下為一個早期作法的例子:

- -
// 建立事件
-var event = document.createEvent('Event');
-
-// 設定事件名稱為 “build” 。
-event.initEvent('build', true, true);
-
-// 監聽事件
-elem.addEventListener('build', function (e) {
-  // e.target matches elem
-}, false);
-
-// 事件對象可以是任一 HTML 元素或是 EventTarget 。
-elem.dispatchEvent(event);
-
-
- -

觸發自定義事件

- -

下面的例子演示了一個複選框藉由 DOM 的 methods 模擬一次點擊(換言之,讓程式執行一次「點擊事件」。)。 觀看實例

- -
function simulateClick() {
-  var event = new MouseEvent('click', {
-    'view': window,
-    'bubbles': true,
-    'cancelable': true
-  });
-  var cb = document.getElementById('checkbox');
-  var canceled = !cb.dispatchEvent(event);
-  if (canceled) {
-    // A handler called preventDefault.
-    alert("canceled");
-  } else {
-    // None of the handlers called preventDefault.
-    alert("not canceled");
-  }
-}
- -

瀏覽器的支援度

- -

 

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureChromeFirefox (Gecko)EdgeInternet ExplorerOperaSafari (WebKit)
Event() constructor1511{{CompatVersionUnknown}}{{CompatNo}}11.606
-
- -
- - - - - - - - - - - - - - - - - - - -
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}6
-
- -

延伸閱讀

- - -- cgit v1.2.3-54-g00ecf