实时监听输入框值变化的完美方案:oninput & onpropertychange

实时监听输入框值变化的完美方案:oninput & onpropertychange

Laughing
2017-06-30 / 0 评论 / 1,204 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2020年09月26日,已超过1574天没有更新,若内容或图片失效,请留言反馈。

实时监听输入框值变化的完美方案:oninput & onpropertychange

从上面表格可以看出,oninput 事件在 IE9 以下版本不支持,需要使用 IE 特有的 onpropertychange 事件替代,这个事件在用户界面改变或者使用脚本直接修改内容两种情况下都会触发,有以下几种情况:

  1. 修改了 input:checkbox 或者 input:radio 元素的选择中状态, checked 属性发生变化。
  2. 修改了 input:text 或者 textarea 元素的值,value 属性发生变化。
  3. 修改了 select 元素的选中项,selectedIndex 属性发生变化。
  4. 在监听到 onpropertychange 事件后,可以使用 event 的 propertyName 属性来获取发生变化的属性名称。

集合 oninput & onpropertychange 监听输入框内容变化的示例代码如下:

<head>  
    <script type="text/javascript">  
    // Firefox, Google Chrome, Opera, Safari, Internet Explorer from version 9  
        function OnInput (event) {  
            alert ("The new content: " + event.target.value);  
        }  
    // Internet Explorer  
        function OnPropChanged (event) {  
            if (event.propertyName.toLowerCase () == "value") {  
                alert ("The new content: " + event.srcElement.value);  
            }  
        }  
    </script>  
</head>  
<body>  
    Please modify the contents of the text field.  
    <input type="text" oninput="OnInput (event)" onpropertychange="OnPropChanged (event)" value="Text field" />  
</body>
0

评论 (0)

取消
  1. 头像
    帅的太低调
    MacOS · Safari

    多谢站长

    回复
  2. 头像
    MacOS · Google Chrome
    @

    试了一下这个,确实不错,网页加载也不慢了

    回复