Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Событие click у input (https://javascript.ru/forum/dom-window/69612-sobytie-click-u-input.html)

NMitra 06.07.2017 12:06

Событие click у input
 
Здравствуйте, почему у input срабатывает click, хотя click дан только button. Его можно как-то убрать?

<form onsubmit="return false;"> 
  <input type="number" id="dva"><button id="tri">Начать</button>
</form>

<script>
document.getElementById('tri').addEventListener("click", function(e) {
  alert(e.target);
})
document.getElementById("dva").addEventListener("change", function(e) {
  alert(e.target);
})
</script>

Dilettante_Pro 06.07.2017 12:22

NMitra,
А кто вам сказал, что это клик?

<form onsubmit="return false;"> 
  <input type="number" id="dva"><button id="tri">Начать</button>
</form>

<script>
document.getElementById('tri').addEventListener("click", function(e) {
  alert(e.target + " Click");
})
document.getElementById("dva").addEventListener("change", function(e) {
  alert(e.target + " Change");
})
</script>

NMitra 06.07.2017 12:37

В поле ничего не вводите, установите фокус и нажмите Enter

NMitra 06.07.2017 12:41

Спасибо, разобралась. Подзабыла, что у button по умолчанию type="submit".

Dilettante_Pro 06.07.2017 13:04

NMitra,
Enter - это не клик.
Событие submit возникает в форме при нажатии Enter на любом элементе

NMitra 07.07.2017 12:58

Увидела объект HTMLButtonElement, поэтому про клик и сказала. Привыкла, что submit на форме


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