Как мне прослушать весь пользовательский ввод на странице с помощью javascript?

#javascript #html

#javascript #HTML

Вопрос:

Как мне прослушать весь пользовательский ввод на странице с помощью javascript? По крайней мере, весь ввод с клавиатуры и мыши. Есть ли для этого событие? Несколько событий?

Комментарии:

1. Посмотрите здесь .

2. Что вы можете сделать, так это написать функцию и привязать ее к элементам для нужных вам событий.

Ответ №1:

codepen

 const inputs = document.querySelectorAll('input')

inputs.forEach(el => {
   el.addEventListener('input', function (ev) {
      const { target } = ev
      const { type, checked, value } = target
      
      if(type === 'text') {
         console.log(type, value)
      } 
      
      if(['checkbox', 'radio'].includes(type)) {
         console.log(type, checked, value)
      }
   })
})  
 <input type="text" value="">

<label>
   <input type="checkbox" checked value="checkbox"> Checkbox
</label>

<label>
   <input type="radio" name="radio" value="1"> Radio1
</label>
<label>
   <input type="radio" name="radio" value="2"> Radio2
</label>  

Ответ №2:

Как указано, вы можете найти список событий в документации

если вы хотите перехватывать каждое нажатие клавиши на своей веб-странице и получать код ключа, вы можете добавить это событие, например :

 window.addEventListener("keydown", (event) => {
   console.log(event.keyCode)
});
  

или, если вы хотите уловить положение мыши :

 onmousemove = event => {
    console.log("mouse location:", event.clientX, event.clientY);
}
window.addEventListener("mousemove", onmousemove);