Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   отловить событие изменения странного выпадающего списка (https://javascript.ru/forum/dom-window/85909-otlovit-sobytie-izmeneniya-strannogo-vypadayushhego-spiska.html)

miltorg 11.05.2024 06:06

Цитата:

Сообщение от Aetae (Сообщение 555326)
document.addEventListener('change', function(event) {
  var product = event.target.closest('[id^="edit-product-id"]');
  if(!product) return;
  
  alert(55555)
}, true);

Абалдеть! Оно работает.

Вы не могли бы хоть намекнуть как и почему?
Спасибо огромнешее.

Aetae 11.05.2024 06:13

miltorg,
1. Слушаем всё события change в документе в режиме useCapture(это отдельная тема, тут важно то, что без него глобально change не отловить).
2. Проверяем, что event.target (элемент который вызвал событие) соответствует селектору [id^="edit-product-id"] или является ребёнком элемента с таким селектором, путём попытки получения closest ближайшего такого элемента.
3. Если не нашли - прекращаем обработку.
4. Иначе - alert.

Сам document переписать невозможно, так что слушатель висит всегда, что бы там на странице не менялось.

miltorg 11.05.2024 07:11

Круто! Спасибо ещё раз.


Часовой пояс GMT +3, время: 21:42.