最近项目中需要用到文本框中值改变时触发某个事件,第一反应就是onchange事件,但是测试发现如果是用js赋值的话,是不会触发onchange事件的,后来在网上找了一下,都说是在ie浏览器中可以用onpropertychange事件,在火狐中使用oninput事件。说是这两个事件是一个效果,很多人没测试就在那转载。哎……
接下来我把测试过的跟大家分享下。
onchange事件是在键盘输入,失去焦点时候如果值改变就触发该事件(ie和火狐效果一样)。
onchange事件用js赋值时不会触发。
在ie浏览器中(本人是ie8,别的ie版本没测试)。
onpropertychange只要值改变都会触发,无论是键盘输入还是js赋值改变都会触发
oninput在ie中无效。
在火狐浏览器中
onpropertychange在火狐中无效。
oninput键盘输入时,只要值改变就触发(不管是否已经失去焦点),onchange是失去焦点时才会触发。
oninput事件js赋值是不会触发该事件的
文采不行,大家将就看,能理解意思就行,呵呵。
接下来把测试代码分享给大家。
<input type="text" id="test1" onchange="testChange();" /> <input type="text" id="test2" onpropertychange="testOnpropertychange();"/> <input type="text" id="test3" oninput="testOninput();"/> <input type="button" value="改变文本框值" onclick="changeText();">
function testChange(){ alert('cnange'); } function testOnpropertychange(){ alert('onpropertychange'); } function testOninput(){ alert('oninput'); } function changeText(){ document.getElementById("test1").value='文本框值已经改变'; document.getElementById("test2").value='文本框值已经改变'; document.getElementById("test3").value='文本框值已经改变'; }
有什么不对的地方希望大家指正。
相关推荐
在 Web 开发中,了解 oninput、onpropertychange、onchange 三个事件的用法和区别非常重要,这三个事件都是用于检测用户输入的变化,但它们之间存在着一些关键的差异。 首先,让我们来了解 onchange 事件。当 ...
JavaScript 监听输入框值的即时变化 ...监听输入框值的即时变化可以使用onpropertychange 事件或oninput 事件来实现,但是需要注意浏览器的差异性问题,使用不同的事件和注册方法来适应不同的浏览器类型。
onchange在用于文本框输入框时,有一个明显的不足. 事件不会随着文字的输入而触发,而是等到文本框失去焦点(onblur)时才会触发. 也就是没有即时性! 在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何...
2. 触发条件:onchange只在元素失去焦点且值改变时触发,onpropertychange则在任何属性变化时触发,包括JavaScript对象属性。 3. 应用场景:onchange更适合于表单验证和实时反馈,onpropertychange常用于跟踪元素或...
在JavaScript中,处理DOM元素状态变化的事件有多种,其中包括`onpropertychange`、`onchange`和`oninput`。这些事件在不同浏览器中有着不同的表现和兼容性,尤其是在Internet Explorer (IE) 和 Firefox之间。 `...
在JavaScript中,`onchange` 和 `onpropertychange` 是两个不同的事件处理方式,它们各自在特定场景下有着不同的用途。本文将详细讲解这两个事件的区别以及如何解决 `onchange` 事件在某些情况下的无效问题。 `...
与onchange不同,oninput事件在用户输入时就会触发,即输入框的值发生变化的那一刻就会触发,非常适合需要实时反馈输入情况的场景。oninput事件在大多数现代浏览器中都得到支持,包括Firefox, Google Chrome, Opera,...
要实现这些功能,JavaScript 提供了几个事件监听器,其中最常用的是 `onpropertychange` 和 `oninput`。 ### onpropertychange 事件 `onpropertychange` 是 Internet Explorer 浏览器特有的事件,当一个 HTML 元素...
但是如果在js代码中改变一个textbox的value,而不是通过键盘输入改变一个textbox值的话,是不会出发onchange事件的。 那么,如何在js代码模式通过代码触发textbox控件的onchange事件呢,经过查阅资料,发现js提供了...
### 使用JavaScript控制INPUT输入内容详解 #### 一、概述 在网页开发中,为了提高用户体验并确保数据的有效性,我们经常需要对用户输入的数据进行控制和验证。通过使用JavaScript(简称JS),我们可以轻松地实现这...
onpropertychange和onchange都不管文本框中的实际值有没有变,只要有改的相应操作就可能触发。有时当上面两时间都不能满足需求时,可以考虑只用onblur。 还有一点要注意到,当onblur和onchange事件一起用时,onblur...
在 EasyUI 中,`onchange` 事件同样适用于 `easyui-textbox` 和 `easyui-combobox`,可以用来监听用户在这些组件上的操作,例如输入或选择值后进行相应的处理。 以下是一个基本的 `onchange` 事件响应实例: ```...
根据提供的文件信息,本文将详细解释如何通过JavaScript代码限制HTML中的`<input>`元素只接收数字、英文字符以及汉字输入。这些技术对于确保用户输入的数据符合预期格式非常有用,在多种应用场景下都非常重要。 ###...
**JS虚拟键盘——VirtualKeyboard 3.7.1** 在网页开发中,有时为了提高用户交互体验或出于安全考虑(例如防止键盘记录器),开发者会选择使用JavaScript实现虚拟键盘。VirtualKeyboard 3.7.1是一款功能强大的jQuery...
React反跳输入 React组件使用去抖动的onChange呈现Input,Textarea或其他元素。 可用作<input type="text" />或<textarea />替代演示版Codepen示范安装NPM npm install --save react-debounce-input纱...