Come posso rilevare quando un elemento di dettagli viene aperto o chiuso in Javascript? Altro che collegare un listener alla funzione click e controllare se l'attributo open è impostato o meno.Rilevamento dell'apertura o della chiusura di un elemento di dettagli
risposta
Si può fare qualcosa di simile:
<details id="element">
<p>Details</p>
</details>
<script>
var isOpen = ($("#element").attr("open") == "open");
alert ("Open = " + isOpen);
</script>
Sto cercando un evento che si attiva quando lo stato cambia da aperto a chiuso o viceversa. – rolisz
C'è un motivo per cui non puoi utilizzare l'evento onclick? Puoi sempre provare il binding sull'evento 'DOMAttrModified'. In entrambi i casi, l'elemento 'details' è così nuovo e non supportato da molti browser, quindi è difficile dire come andrà a finire. –
Bene, se sto usando l'evento onclick, potrei anche usare due div anziché i dettagli e il sommario. Sono solo due righe extra di jQuery e non mi devo preoccupare della compatibilità cross-browser. Non conoscevo DOMAttrModified, ma non penso che funzioni in Chrome e l'elemento detail non funziona in nessun altro posto tranne Chrome :))) – rolisz
È possibile utilizzare il toggle event:
var details = document.querySelector("details")
details.addEventListener("toggle", function() {
details.firstChild.textContent = "done"
})
<!doctype html>
<details>
<summary>toggle event</summary>
</details>
Buono a sapersi che l'evento di commutazione non sembra bubble (?) e che l'attributo 'open' sembra essere modificato * prima * l'evento si attiva. – commonpike
Su Jquery
$("#detail-id").on("toggle", function() {
//code
});
- 1. rilevamento della chiusura (o scaricamento) della pagina in asp.net mvc3
- 2. Rilevamento della carta di identità nazionale e ottenere i dettagli
- 3. Rilevamento della chiusura HTTP usando inet
- 4. Rilevamento della chiusura della connessione HTTP in Rails
- 5. Master/dettagli compresso UISplitViewController: rilevamento dettagli View Liquidator controller?
- 6. Rilevamento del primo e dell'ultimo elemento all'interno di un Groovy ogni {} chiusura
- 7. Rilevamento della chiusura del client connect in node.js
- 8. rilevamento della dimensione della pagina di memoria
- 9. Rilevamento della prima esecuzione di un'app
- 10. Rilevamento della piattaforma (Window o Linux) di groovy/grails
- 11. Rilevamento dell'umore di un tweet o di un messaggio
- 12. Rilevamento della modifica di JComboBox
- 13. Rilevamento della latenza di AirPlay
- 14. Rilevamento dello stato di apertura/chiusura fisarmonica jquery-ui
- 15. Come accedere a più di 10 dettagli di un elemento in Amazon API utilizzando php?
- 16. rilevamento della mancanza di posta elettronica
- 17. per il calcolo della chiusura di un gruppo di FD
- 18. Rilevamento al termine della riproduzione di un video di YouTube
- 19. Nome della banca dai dettagli della carta di credito?
- 20. Rilevamento di un annullare nella navigazione con JavaScript o jQuery
- 21. Rilevamento della disconnessione della presa?
- 22. Esiste un modo non di rilevamento per rilevare quando le dimensioni o la posizione di un elemento DOM sono cambiate?
- 23. Dispositivi di chiusura di chiusura
- 24. Rilevamento della posizione UIScrollView
- 25. Rilevamento della velocità di movimento UITouch
- 26. Degrado con garbo di un elemento personalizzato (o elemento polimerico)
- 27. Rilevamento di battiti in un brano
- 28. Rilevamento di immissione su QLineEdit o QPushButton
- 29. Rilevamento della pressione di un tasto in Google Maps
- 30. Chi dovrebbe essere responsabile della chiusura di un flusso
Forse yo hai mai trovato una soluzione a questo? – Bryce