Номер типа ввода HTML - Как узнать, что «пошаговое» изменение вызвало событие изменения? - PullRequest
0 голосов
/ 12 марта 2019

У меня есть стандартное текстовое поле ввода HTML, которое вызывает функцию javascript для события "onChange". На входе включена пошаговая функция, и значение изменяется на 0,005 при нажатии стрелок вверх или вниз. Я хочу определить, вызвано ли событие «onChange» нажатием клавиш со стрелками или введением пользователем значения в поле ввода. Как я могу различить два?

<input type="number" min="0" max="100" step="0.005" />

1 Ответ

0 голосов
/ 12 марта 2019
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1>Test</h1>
    <input id='myfun' type="number" min="0" max="100" step="0.005" onchange="myFunction()" />
    <div id="result"></div>
</body>

<script>
    function myFunction(){
        console.log('My new value : ', document.getElementById('myfun').value);

        var str = document.getElementById('myfun').value
        document.getElementById('result').innerText = str;
    }
</script>
</html>

Проверьте мой код, и вы увидите, что каждый раз, когда вы меняете код, он показывает значение и все, что вам нужно

<input id='myfun' type="number" min="0" max="100" step="0.005" onchange="myFunction()" />
<div id="result"></div>
function myFunction(){
  console.log('My new value : ', document.getElementById('myfun').value);

  var str = document.getElementById('myfun').value
  document.getElementById('result').innerText = str;
}

<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
  </head>

  <body>
    <h1>Test</h1>
    <input id='myfun' type="number" min="0" max="100" step="0.005" onchange="myFunction()" />
    <div id="result"></div>
  </body>

  <script>
    function myFunction() {
      console.log('My new value : ', document.getElementById('myfun').value);

      var str = document.getElementById('myfun').value
      document.getElementById('result').innerText = str;
    }

  </script>

</html>
...