Jak wykryć, kiedy element szczegółów jest otwierany lub zamykany w JavaScript? Oprócz dołączania detektora do funkcji kliknięcia i sprawdzania, czy otwarty atrybut jest ustawiony, czy nie.Wykrywanie otwarcia lub zamknięcia elementu szczegółów
Odpowiedz
można zrobić coś takiego:
<details id="element">
<p>Details</p>
</details>
<script>
var isOpen = ($("#element").attr("open") == "open");
alert ("Open = " + isOpen);
</script>
Szukam zdarzenia, które będzie uruchamiane, gdy stan zmieni się z otwartego na zamknięty lub odwrotnie. – rolisz
Czy istnieje powód, dla którego nie można skorzystać z wydarzenia onclick? Zawsze możesz spróbować powiązać wydarzenie 'DOMAttrModified'. W obu przypadkach element 'details' jest nowością i nie jest obsługiwany przez wiele przeglądarek, więc trudno powiedzieć, jak to się skończy. –
Cóż, jeśli używam zdarzenia onclick, to mogę użyć dwóch elementów div zamiast szczegółów i podsumowania. To tylko dwie dodatkowe linie jQuery i nie martwię się kompatybilnością z wieloma przeglądarkami. Nie wiedziałem o DOMAttrModified, ale nie sądzę, że działa w Chrome, a element szczegółów nie działa nigdzie poza Chrome :))) – rolisz
Można użyć toggle event:
var details = document.querySelector("details")
details.addEventListener("toggle", function() {
details.firstChild.textContent = "done"
})
<!doctype html>
<details>
<summary>toggle event</summary>
</details>
Dobrze wiedzieć, że zdarzenie toggle nie wydaje się bańką (?), a atrybut "open" wydaje się być modyfikowany * przed * zdarzeniem. – commonpike
Na Jquery
$("#detail-id").on("toggle", function() {
//code
});
- 1. Wykrywanie zamknięcia połączenia HTTP w Railsach
- 2. Wykrywanie zamknięcia połączenia klienta w pliku node.js
- 3. Wykrywanie kliknięcia elementu w elemencie
- 4. Wykrywanie przyczyny niepowodzenia otwarcia przepływu w przypadku niepowodzenia() jest prawdziwe
- 5. Wykrywanie mouseup poza mousedown elementu
- 6. Wykrywanie środowiska: node.js lub przeglądarka
- 7. Wykrywanie systemu Windows lub Linux?
- 8. Wykrywanie nastrój tweet lub wiadomości
- 9. python opencv - wykrywanie obiektów typu blob lub wykrywanie kolejek
- 10. Rejestrowanie pliku GPX (lub XML) do otwarcia w aplikacji iOS
- 11. Anulowanie lub zmiana szczegółów aktualizacji aplikacji iTunes Connect
- 12. Jak programowo uzyskać dostęp do szczegółów szczegółów wiersza danych datagrid
- 13. Śledzenie zamknięcia
- 14. otwarcia dokumentu PDF z pamięci
- 15. Więcej szczegółów na temat Ember.js
- 16. Wykrywanie jeśli tablica jest indeksowane lub asocjacyjne
- 17. database/sql Tx - wykrywanie Commit lub Rollback
- 18. Wykrywanie lub reagowanie na dostęp z przewodnikiem?
- 19. Wykrywanie wejścia na QLineEdit lub QPushButton
- 20. Wykrywanie, czy _ jest domieszką lub podkreślnikiem
- 21. iOS Wykrywanie szybkości połączenia lub rodzaj
- 22. Wykrywanie puszki lub butelki w opencv
- 23. Deducing Parametry zamknięcia PHP
- 24. Usunięcie lub ukrycie elementu svg
- 25. Wykrywanie zdarzenia mouseMove out dla elementu canvas canvas
- 26. html5, angularJS z kompilatorem zamykającym i/lub biblioteką zamknięcia
- 27. Timer javascript lub interwały utworzone w pętli przy użyciu zamknięcia
- 28. Mangia Próbowanie otwarcia niezamkniętego połączenia
- 29. Clojure zamknięcia i GC
- 30. Identyfikator foreach i zamknięcia
Czy yo znalazłeś na to rozwiązanie? – Bryce