Nie rozumiem motywacji występującej po stronie window.event lub window.event.srcElement. W jakim kontekście należy tego użyć? Co dokładnie reprezentuje w DOM?Opis właściwości window.event i jej użycia
Odpowiedz
function IndentifyMe(){
alert("You clicked on " + window.event.srcElement.tagName);
}
<body onclick = "IndentifyMe()">
Spróbuj tego kodu, z dużą ilością elementu w tagu ciała i kliknij inny element
Imprezy są siłą napędową interakcji użytkownika. Bez zdarzeń, użytkownik nie może wchodzić w interakcje ze stroną.
Program obsługi zdarzeń jest używany do wywoływania niektórych skryptów JavaScript po wykonaniu określonej akcji. Jeśli chcesz, aby pewne zachowanie zostało wywołane, gdy użytkownik przesunie kursor nad elementem, użyjesz obsługi zdarzeń onmouseover .
"DOM Scripting: Projektowanie stron internetowych z JavaScript i dokument Object Model: Second Edition"
Oto co w3school says o event
obiektu:
wydarzenia są działania, które mogą być wykryte przez JavaScript, a obiekt zdarzenia podaje informacje o zdarzeniu, które miało miejsce.
Czasami chcemy wykonać JavaScript, gdy wystąpi zdarzenie, takie jak , gdy użytkownik kliknie przycisk.
można obsługiwać zdarzenia używając:
node.onclick = function(e) {
// here you can handle event. e is an object.
// It has some usefull properties like target. e.target refers to node
}
Jednak Internet Explorer nie przechodzi do procedury obsługi zdarzenia. Zamiast tego możesz użyć obiektu window.event, który jest aktualizowany natychmiast po uruchomieniu zdarzenia. Więc sposób crossbrowser do obsługi zdarzeń:
node.onclick = function(e) {
e = e || window.event;
// also there is no e.target property in IE.
// instead IE uses window.event.srcElement
var target = e.target || e.srcElement;
// Now target refers to node. And you can, for example, modify node:
target.style.backgroundColor = '#f00';
}
Nie wiem, czy ta różnica została zmieniona w nowszych wersjach przeglądarek, ale w zasadzie, „W modelu korzystającego zdarzeń Microsoft jest window.event specjalna właściwość, która zawiera ostatnią imprezę które odbyło się." (Z odniesieniem)
więc napisać obsługi zdarzeń zgodną różnych przeglądarkach trzeba by zrobić coś takiego:
function doSomething(e) {
if(!e) {
var e = window.event;
}
var ele = e.target || e.srcElement;
// get the clicked element
// srcElement for IE, target for others
}
element.onclick = doSomething;
referencyjny: http://www.quirksmode.org/js/events_access.html
- 1. Przechowywanie właściwości wyliczeniowej wewnątrz CoreData i wygodnej jej obsługi.
- 2. Uzyskiwanie kolejki bez podania wszystkich jej właściwości
- 3. Formatowanie iCalendar i opis
- 4. Opis i debugowanie NSObject
- 5. Opis przepływu pracy dla użycia git dla wewnętrznego rozwoju
- 6. Co to jest NSFaceIDUsageDescription - Identyfikator użycia twarzy Opis Klawisz Info.plist?
- 7. ALTER bieżąca baza danych bez użycia jej nazwy
- 8. Opis std :: hardware_destructive_interference_size i std :: hardware_constructive_interference_size
- 9. Czy istnieje sposób użycia warunku instrukcji If jako jej wartości?
- 10. Opis macierzy C i wskaźników
- 11. Jakie są przypadki użycia właściwości inline Kotlin?
- 12. Opis kodów błędów NSURLErrorDomain Opis
- 13. Jednostka DDD i jej identyfikator
- 14. Jakie jest znaczenie tego ... "var evt = event || window.event;"
- 15. Opis bloków Scala
- 16. Opis i niestandardowe podsumowania NSObject w Xcode
- 17. iOS 10 Uprawnienia lokalizacja i opis
- 18. Opis filtru Tcpdump i maskowania bitów
- 19. Ustaw nazwę i opis rurociągu z Jenkinsfile
- 20. Opis magazynów kluczy, certyfikatów i aliasów
- 21. Opis Python Unicode i Linux terminal
- 22. Opis adresu URL i interfejs API miniaturki
- 23. Opis maszynowy TSX i ogólne parametry
- 24. Jak zaktualizować encję OData i zmodyfikować jej właściwości nawigacyjne w jednym żądaniu?
- 25. Właściwy sposób użycia zmiennych instancji/właściwości/synthetize z ARC
- 26. Najlepszy widget Qt do użycia w oknie właściwości?
- 27. Opis pętli while w Tensorflow
- 28. Uwaga firmy Microsoft do ReaderWriterLockSlim.IsReadLockHeld/IsWriteLockHeld i jej konsekwencje
- 29. Ant var i zakres właściwości
- 30. sposób użycia dwóch AntiForgeryToken na jednej stronie bez użycia wycofanej właściwości "Salt"
Oprócz tego wyciągnąć z w3schools, to jest najbardziej przydatna odpowiedź tutaj. +1. – duri
"_'e.target' odnosi się do' node'_ ": To jest złe. 'this' odnosi się do' węzła', podczas gdy 'e.target' może odnosić się do dowolnego elementu potomnego' węzła' w zależności od tego, który z nich został kliknięty i czy zdarzenie jest w bąblach, czy nie itp. – Xufox
Czy to prawda dla wszystkich wersji IE ? Zdaję sobie sprawę, że jest to stare pytanie, po prostu ciekawe ... nie mogłem nic na nim znaleźć – aw04