如何利用原生JS实时监听input框输入值

 更新时间:2023年01月11日 09:26:28   作者:兰亭古墨  
这篇文章主要介绍了如何利用原生JS实时监听input框输入值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

原生JS实时监听input框输入值

原生JS中可以使用oninput,onpropertychange,onchange

oninput,onpropertychange,onchange的用法

1) onchange 触发事件必须满足两个条件:

  • a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效)
  • b)当前对象失去焦点(onblur);

2) onpropertychange ,只要当前对象属性发生改变,都会触发事件,但是它是IE专属的;

3) oninput 是onpropertychange的非IE浏览器版本,支持firefox和opera等浏览器,但有一点不同,它绑定于对象时,并非该对象所有属性改变都能触发事件,它只在对象value值发生改变时奏效。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        请输入字符:<input type="text" id='d0'/>
        <hr />
        你是输入的字符为: <div id='d1'></div>
        
        <script>
            var input = document.getElementById('d0')
            
            var div = document.getElementById('d1');
            input.oninput = function(){
                div.innerHTML = input.value;
            }
 
        </script>
    </body>
</html>

原生JS input[type=range] 监听值变化

<input id="density" type="range"  oninput="densityInput(event)" onpropertychange="OnPropChanged(event)">
//js

 function OnInput (event) {
    console.log(event.target.value);
  }
  // Internet Explorer 
  function OnPropChanged (event) {
      if (event.propertyName.toLowerCase () == "value") {
          console.log(event.srcElement.value);
      }
  }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论