DOM:document.createEvent
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Spis treści |
[edytuj] Podsumowanie
Tworzy obiekt obsługi zdarzenia o określonym typie. Utworzony obiekt powinien zostać najpierw zainicjalizowany, a następnie przekazany do metody dispatchEvent elementu.
[edytuj] Składnia
zdarzenie = document.createEvent(typ)
-
zdarzenieto utworzony obiekt Event. -
typto ciąg oznaczający typ tworzonego zdarzenia. Możliwe typy to m.in.:"UIEvents","MouseEvents","MutationEvents", i"HTMLEvents". Zob. Uwagi.
[edytuj] Przykład
Poniższy przykład przedstawia symulację kliknięcia w pole wyboru opartą o metody DOM. Możesz zobaczyć przykład w działaniu.
function simulateClick() {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
var cb = document.getElementById("checkbox");
var canceled = !cb.dispatchEvent(evt);
if(canceled) {
// metoda obsługi zdarzenia wywołała preventDefault
alert("canceled");
} else {
// nie wywołano preventDefault
alert("not canceled");
}
}
[edytuj] Uwagi
Nazwy typów zdarzeń, które można przekazać do createEvent określane są przez moduły zdarzeń. Niektóre moduły zdarzeń zdefiniowane są w specyfikacjach DOM Events, niektóre moduły w innych specyfikacjach (jak np. SVG), a pewne typy zdarzeń są specyficzne dla Gecko.
Szczegóły znajdziesz w poniższej tabeli.
| Moduł zdarzeń | Typ do przekazania w createEvent |
Metoda używana do inicjalizacji zdarzenia |
|---|---|---|
| DOM Level 2 Events | ||
| Moduł zdarzeń interfejsu użytkownika | "UIEvents" |
event.initUIEvent |
| Moduł zdarzeń myszy | "MouseEvents" |
event.initMouseEvent |
| Moduł zdarzeń mutacji | "MutationEvents" |
event.initMutationEvent |
| Moduł zdarzeń HTML | "HTMLEvents" |
event.initEvent |
| DOM Level 3 Events | ||
| Moduł zdarzeń interfejsu użytkownika | "UIEvent", "UIEvents" |
event.initUIEvent |
| Moduł zdarzeń myszy | "MouseEvent", "MouseEvents" |
event.initMouseEvent |
| Moduł zdarzeń mutacji | "MutationEvent", "MutationEvents" |
event.initMutationEvent |
| Moduł zdarzeń mutacji nazw (nie zaimplementowany przez Gecko - czerwiec 2006) | "MutationNameEvent" |
event.initMutationNameEvent |
| Moduł zdarzeń tekstowych | "TextEvent" (Gecko obsługuje też "TextEvents") |
event.initTextEvent |
| Moduł zdarzeń klawiatury | "KeyboardEvent" (Gecko obsługuje też "KeyEvents") |
event.initKeyboardEvent |
| Moduł podstawowych zdarzeń | "Event" (Gecko obsługuje też "Events") |
event.initEvent |
| SVG 1.1 Scripting | ||
| SVG | "SVGEvents" (Gecko obsługuje też "SVGEvent") |
event.initEvent |
"SVGZoomEvents" (Gecko obsługuje też "SVGZoomEvent") |
event.initUIEvent | |
| Inne typy zdarzeń obsługiwane przez Gecko | ||
| - | "MouseScrollEvents", "PopupEvents" |
event.initMouseEvent |
"PopupBlockedEvents" |
event.initPopupBlockedEvent | |
"XULCommandEvent", "XULCommandEvents" |
event.initCommandEvent | |
Niektóre zdarzenia mogą być tworzone przy użyciu dwóch nazw typów, ponieważ w specyfikacji DOM Level 3 Events zmieniono nazwy z liczby mnogiej na pojedynczą, pozostawiając nazwy w liczbie mnogiej dla zgodności wstecznej.