`

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

阅读更多

(1)先说jquery, 使用 jQuery 库的话,只需要同时绑定 oninput 和 onpropertychange 两个事件就可以了,示例代码:

$('#username').bind('input propertychange'function() {
    $('#content').html($(this).val().length + ' characters');
});

(2)对于JS原生写法而言, oninput 是 HTML5 的标准事件,对于检测 textarea, input:text, input:password 和 input:search 这几个元素通过用户界面发生的内容变化非常有用,在内容修改后立即被触发,不像 onchange 事件需要失去焦点才触发。oninput 事件在主流浏览器的兼容情况如下:

   

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

  • 修改了 input:checkbox 或者 input:radio 元素的选择中状态, checked 属性发生变化。
  • 修改了 input:text 或者 textarea 元素的值,value 属性发生变化。
  • 修改了 select 元素的选中项,selectedIndex 属性发生变化。

  在监听到 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>
分享到:
评论

相关推荐

    js与jquery实时监听输入框值的oninput与onpropertychange方法.docx

    在这个资源中,我们将介绍 JS 与 jQuery 实时监听输入框值的 oninput 与 onpropertychange 方法,并通过实例分析了 oninput 与 onpropertychange 实现下拉框里自动匹配关键字实时监听文本框 value 值变化的功能。...

    js与jquery实时监听输入框值的oninput与onpropertychange方法

    主要介绍了js与jquery实时监听输入框值的oninput与onpropertychange方法,实例分析了oninput与onpropertychange实现下拉框里自动匹配关键字实时监听文本框value值变化的功能,需要的朋友可以参考下

    jQuery/JS监听input输入框值变化实例

    例如,演示了如何利用oninput事件监听输入框的实时输入,并根据输入内容动态更新页面上的其他元素。同时,使用jQuery绑定了oninputpropertychange事件,显示了在输入过程中实时获取输入框长度,并根据输入值是否存在...

    jquery 实时监听输入框值变化的完美方法(必看)

    实时监听输入框值变化是Web开发中常见需求之一,特别是在需要即时校验用户输入内容或者响应用户行为时,此功能显得尤为重要。 2. **绑定oninput和onpropertychange事件**: - `oninput`事件在输入框内容改变时...

    js监听input输入框值的实时变化实例.docx

    ### JavaScript 监听 Input 输入框值的实时变化 #### 知识点概览 1. **事件绑定方式**:理解并应用多种事件绑定方法(原生 JavaScript、jQuery)。 2. **兼容性处理**:针对不同浏览器(如 IE)采用不同的事件绑定...

    js与jquery获取input输入框中的值实例讲解.docx

    ### JS与jQuery获取Input输入框中的值实例讲解 #### 一、引言 在Web开发中,经常需要处理用户输入的数据。JavaScript 和 jQuery 是前端开发中最常用的两种工具,它们提供了强大的功能来操作DOM(文档对象模型),...

    js监听input输入框值的实时变化实例

    本篇教程将详细介绍如何使用JavaScript(原生JS)和jQuery来监听input输入框值的实时变化,并给出了相应的实例代码和解释。 首先,我们来看如何使用原生JavaScript实现对input输入框值的实时监听。在原生JavaScript...

    js与jquery获取input输入框中的值实例讲解

    在JavaScript中,我们通常使用`oninput`事件来监听输入框内容的变化。然而,`oninput`事件在IE9及以下版本不被支持,需要使用IE特有的`onpropertychange`事件来替代。这两个事件会在用户输入或脚本更改内容时触发。...

    让input框实现类似百度的搜索提示(基于jquery事件监听)

    可以通过监听`oninput`事件(主流浏览器支持)和`onpropertychange`事件(主要针对IE浏览器)来实现。对于`onpropertychange`事件的监听,可以使用jQuery的`.bind()`方法。 2. **数据获取**:当用户输入时,通过...

    兼容Firefox和IE的onpropertychange事件oninput

    在JavaScript中,处理DOM元素状态变化的事件有多种,其中包括`onpropertychange`、`onchange`和`oninput`。这些事件在不同浏览器中有着不同的表现和兼容性,尤其是在Internet Explorer (IE) 和 Firefox之间。 `...

    jquery keypress,keyup,onpropertychange键盘事件

    在JavaScript和jQuery中,处理键盘事件是常见的需求,特别是在用户输入时进行实时验证或操作。在给定的标题和描述中,提到了`keypress`、`keyup`以及`onpropertychange`这三种键盘事件,接下来将详细介绍它们以及...

    深入理解html表单输入监听

    对于实时反映用户输入信息的场景,oninput是更为合适的监听方式。oninput事件也可以在HTML标签中使用oninput属性进行绑定。例如: ```html &lt;input type="text" value="" oninput="changeVal(this)"&gt; ``` ...

    中文输入法不触发onkeyup事件的解决办法

    一种常见的解决方案是使用`oninput`事件,它在元素的`value`属性发生变化时触发,包括由用户输入或JavaScript程序修改造成的改变。`oninput`在Firefox等现代浏览器中是支持的,但遗憾的是,Internet Explorer(IE)...

    jQuery文本框(input textare)事件绑定方法教程

    jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作和事件处理。在jQuery中,事件绑定是实现交互性的重要手段。在本文中,我们将深入探讨如何使用jQuery绑定事件,特别是针对文本框(input textarea)的...

    基于jQuery的计算文本框字数的代码

    不同浏览器对文本框内容变化事件的支持可能有所不同,例如,在标准浏览器中,可以使用`oninput`事件来监听文本框内容的变化;而对于IE浏览器,需要使用`onpropertychange`事件。这两个事件在发生条件上是文本框值...

Global site tag (gtag.js) - Google Analytics