Обнаружение открытия или закрытия элемента данных - PullRequest
11 голосов
/ 09 сентября 2011

Как я могу определить, когда элемент подробностей открывается или закрывается в Javascript?Кроме присоединения слушателя к функции щелчка и проверки, установлен атрибут open или нет.

Ответы [ 3 ]

13 голосов
/ 22 марта 2016

Вы можете использовать событие переключения :

var details = document.querySelector("details")

details.addEventListener("toggle", function() {
 details.firstChild.textContent = "done"
})
<!doctype html>
<details>
 <summary>toggle event</summary>
</details>
3 голосов
/ 07 июля 2017

В jQuery вы можете поймать событие, используя .on('toggle'), например:

$('#detail-id').on('toggle', function() {
   //code
});
0 голосов
/ 09 сентября 2011

Вы можете сделать что-то вроде этого:

<details id="element">
   <p>Details</p>
</details>

<script>
   var isOpen = ($("#element").attr("open") == "open");

   alert ("Open = " + isOpen);
</script>
...