在文本框输入数据的时候,当键盘按下并放开的时候可以使用onkeyup来检测事件,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获。可是有的时候我们输入数据是采用粘贴的方式而不是键盘输入,这就需要实时检测文本框状态的改变。 onpropertychange 不被firefox所支持,如果想在firefox下正常使用,需要用oninput属性,且需要用addEventListener来注册事件。
例子:
oninput测试
<script> <BR> <!-- <BR>function getOs(){//判断浏览器类型 <BR> var OsObject = ""; <BR> if(navigator.userAgent.indexOf("MSIE")>0) { <BR> return "MSIE"; <BR> } <BR> if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ <BR> return "Firefox"; <BR> } <BR> if(isSafari=navigator.userAgent.indexOf("Safari")>0) { <BR> return "Safari"; <BR> } <BR> if(isCamino=navigator.userAgent.indexOf("Camino")>0){ <BR> return "Camino"; <BR> } <BR> if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){ <BR> return "Gecko"; <BR> } <br><br>} <br><br>if(navigator.userAgent.indexOf("MSIE")>0){ <BR>document.getElementById('tx1').attachEvent("onpropertychange",txChange); <BR>}else if(navigator.userAgent.indexOf("Firefox")>0){ <BR> document.getElementById('tx1').addEventListener("input",txChange2,false); <BR>} <BR>function txChange(){ <BR> alert("testie"); <BR>} <BR>function txChange2(){ <BR> alert("testfirefox"); <BR>} <BR></script>
以上就是兼容Firefox的onpropertychange事件方法。