当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 兼容Firefox和IE的onpropertychange事件oninput

Javascript
IE和Firefox在JavaScript应用中的兼容性探讨
在线演示常用javascript特效
Meta 标签生成器
动态生成的IFRAME,设置SRC时的问题解决分析
CSS常用网站布局实例
JS动画效果代码2
JS动画效果代码3
js COL能很好的控制表格的列
readonly和disabled的区别
在CSS里写复杂的JavaScript脚本
用JavaScript操作WinRar
javascript add event remove event
HTML中Select不用Disabled实现ReadOnly的效果
用JavaScript调用WebService的示例
大家未必知道的Js技巧收藏
js批量上传界面的实现
javascript倒计时效果代码,可以方便参数调用
能在网页中写字和能擦写的js程序
javascript背投广告代码的完善
js函数般调用正则

Javascript 中的 兼容Firefox和IE的onpropertychange事件oninput


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 502 ::
收藏到网摘: n/a

onpropertychange能够捕获每次输入值的变化。例如:<INPUT id="test" name="test" />对象的value值被改变时,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获。 在文本框输入数据的时候,当键盘按下并放开的时候可以使用onkeyup来检测事件,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获。可是有的时候我们输入数据是采用粘贴的方式而不是键盘输入,这就需要实时检测文本框状态的改变。
onpropertychange 不被firefox所支持,如果想在firefox下正常使用,需要用oninput属性,且需要用addEventListener来注册事件。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

例子:
复制代码 代码如下:

<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>

以上就是兼容Firefox的onpropertychange事件方法。