onpropertychange能够捕获每次输入值的变化。例如:<INPUT id="test" name="test" />对象的value值被改变时,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获。
onpropertychange 不被firefox所支持,如果想在firefox下正常使用,需要用oninput属性,且需要用addEventListener来注册事件。
例子:
<html>
<body>
<div>oninput测试</div>
<div id="testdiv"><input id='tx1' name="tx1" value="" /></div>
</body>
</html>
<script language="JavaScript">
<!--
function getOs(){//判断浏览器类型
var OsObject = "";
if(navigator.userAgent.indexOf("MSIE")>0) {
return "MSIE";
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
return "Firefox";
}
if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
return "Safari";
}
if(isCamino=navigator.userAgent.indexOf("Camino")>0){
return "Camino";
}
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
return "Gecko";
}
}
if(navigator.userAgent.indexOf("MSIE")>0){
document.getElementById('tx1').attachEvent("onpropertychange",txChange);
}else if(navigator.userAgent.indexOf("Firefox")>0){
document.getElementById('tx1').addEventListener("input",txChange2,false);
}
function txChange(){
alert("testie");
}
function txChange2(){
alert("testfirefox");
}
</script>
转载地址http://blog.csdn.net/cool_rain_man/archive/2008/04/02/2243162.aspx
分享到:
相关推荐
网上看到很方便实现这个功能的事件: IE 中的 onpropertychange 非IE中的 oninput 用这两事件的好处是,当在输入框的内容发生变化调用事件,使用key 和 mouse的相关事件会比较复杂,而且这个方法用粘贴方法一样有效...
与 `onpropertychange` 不同,`oninput` 事件在绝大多数现代浏览器上得到支持,包括 Firefox、Chrome、Safari 和 Opera。当元素的值发生变化时(无论是通过用户输入、脚本还是其他方式),`oninput` 事件都会触发。 ...
在JavaScript开发中,处理用户输入事件是常见的需求,特别是在...在需要实时响应用户输入的情况下,可以考虑使用 `onpropertychange`(仅限IE)和 `oninput`(现代浏览器)组合的方式,以实现最佳的兼容性和用户体验。
相比之下,`oninput` 事件是在更广泛的现代浏览器中得到支持的,包括Opera、Safari、NetScape和Firefox等。`oninput` 主要用于监听输入元素(如`<input>`和`<textarea>`)的`value`属性的变化,即当用户在这些元素中...
oninput事件在大多数现代浏览器中都得到支持,包括Firefox, Google Chrome, Opera, Safari以及从IE9开始的Internet Explorer版本。 除了原生JavaScript的监听方法,文章还提供了使用jQuery实现监听的方式。通过使用...
然后,开发者注意到`oninput`事件,网上普遍认为在Firefox中`oninput`与IE的`onpropertychange`效果相同,但实际上并不完全一致。`oninput`事件仅在用户直接输入导致value值变化时触发,而通过JavaScript改变value值...
然而,由于 `onpropertychange` 是IE专属的,对于其他非IE浏览器,如Firefox、Chrome、Safari和Opera,我们需要寻找替代方案。一个跨浏览器的解决方案是使用 `MutationObserver` API,这是一个现代浏览器支持的API,...
幸好,Firefox浏览器提供了一个类似的事件——`oninput`,它能够达到与`onpropertychange`相似的效果。`oninput`事件能够实时响应任何导致元素值改变的操作,无论这种改变是用户直接输入还是脚本执行。 例如,使用`...
需要注意的是,这些方法主要适用于旧版的IE浏览器,现代浏览器如Chrome、Firefox通常使用`oninput`事件来代替`onpropertychange`,因为`oninput`事件在所有浏览器中都有较好的兼容性,并且能更准确地捕获用户输入的...
在非IE浏览器中,包括Chrome、Firefox、Safari等,`oninput`事件可以替代`onpropertychange`。`oninput`事件能够在元素的值发生变化时立即触发,无论是否获得焦点。这一点对于实现即时反馈和动态交互至关重要。 在...
而在非IE浏览器如FireFox中,oninput事件成为了替代onchange的理想选择,用以实现实时监听输入的功能。值得注意的是,在使用oninput事件时,应采用W3C推荐的addEventListener方式绑定事件,以增强代码的兼容性和健壮...
`oninput`在Firefox等现代浏览器中是支持的,但遗憾的是,Internet Explorer(IE)浏览器不支持此事件,直到IE9才开始支持。 对于IE浏览器,我们可以使用`onpropertychange`事件作为替代。`onpropertychange`会在...
后来发现,可以使用onpropertychange(仅适用于IE浏览器)和oninput(适用于Firefox、Chrome、IE9+)来解决这一问题。 - **oninput事件:** 在用户进行输入、退格、删除、剪切、粘贴以及鼠标剪切与粘贴操作时触发。...
对于火狐和其他非IE浏览器,`oninput`事件是一个更现代的选择,它会在用户输入内容时立即触发。但正如你所提到的,`oninput`事件并不适用于所有情况,特别是当文本框内容是通过下拉列表选择来填充时,这种选择并不会...
首先,讨论了绑定`oninput`和`onpropertychange`事件的方法,然后指出了该方法的局限性,并提出了使用`live`方法作为替代方案来解决对动态添加的输入元素监听失效的问题。 知识点详细解析如下: 1. **实时监听...
`oninput`虽然听起来应该是跨浏览器的事件,但在实际应用中FireFox浏览器并不支持,或者其触发条件不一致。 3. 只读文本框内容同步 在某些应用场景中,需要将可编辑输入框(input)的值实时同步到另一个只读输入框...
- 在非IE浏览器中,`oninput`事件是一个更好的选择,它在用户输入、删除、剪切、粘贴等操作时触发,兼容Firefox、Chrome和IE9及以上版本。 - 对于IE9及更高版本,`onpropertychange`和`oninput`的行为可能略有不同...
对于文本框内容改变的事件,在IE浏览器中通常使用onpropertychange事件,而在Firefox浏览器中则使用oninput事件。这意味着在编写脚本时需要对不同的浏览器使用不同的事件名。 ```javascript if(document.all){ // ...
在IE下,监听的是`onpropertychange`事件,而在标准浏览器中监听的是`oninput`事件。这反映了在编写跨浏览器的JavaScript代码时需要考虑的不同事件模型。 3. 焦点事件处理:包括了`onfocus`和`onblur`事件的处理。`...