Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Имитация нажатия на элемент вызывает событие onchange или нет? (https://javascript.ru/forum/misc/84443-imitaciya-nazhatiya-na-ehlement-vyzyvaet-sobytie-onchange-ili-net.html)

SWORDMAN 09.09.2022 12:51

Имитация нажатия на элемент вызывает событие onchange или нет?
 
Здравствуйте.

При использовании
.trigger('click')
или же
.prop('checked', true)
элемент radio будет реагировать на событие data-onchange как от реального клика или нет?

рони 09.09.2022 13:39

SWORDMAN,
https://developer.mozilla.org/ru/doc...vent/isTrusted

SWORDMAN 09.09.2022 14:19

Понял, не будет реагировать на событие. Спасибо!

рони 09.09.2022 14:40

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

ksa 09.09.2022 16:02

SWORDMAN, сделай простенький тестовый пример и покажи тут...
Вполне возможно в процессе его создания ты уже получишь ответ на свой вопрос. ;)

SWORDMAN 09.09.2022 17:01

Цитата:

Сообщение от рони (Сообщение 547888)
SWORDMAN,
можно отличить реальный клик от программного, но что требуется вам, только вам и известно, ответ на поставленный выше вопрос, зависит от конкретных деталей.

Мне нужно при эмуляции нажатия на radio button чтобы выполнялась функция reloadAll, как при реальном клике. Если подскажете код буду благодарен.

<label><input type="radio" name="<?php echo $name ?>" id="<?php echo $id ?>_<?php echo $info_id ?>" value="<?php echo $info['id'] ?>" <?php echo $value == $info['id'] ? 'checked="checked"' : '' ?> <?php echo $reload ? 'data-onchange="reloadAll"' : 'data-reload-payment-form="true"'?>><?php echo $info['text'] ?></label>

voraa 09.09.2022 17:26

Все вызывается
<body>
<label>
<input type="radio">
</label>
<script>
function reloadAll() {
alert ('reloadAll')
}

const ir = document.querySelector('input')
ir.addEventListener('change', reloadAll)

ir.click(); // имитация клика
</script>
</body>


А что за событие такое "data-onchange"?


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