兼容Firefox和IE的onpropertychange事件oninput
更新時(shí)間:2008年06月05日 12:20:22 作者:
onpropertychange能夠捕獲每次輸入值的變化。例如:對(duì)象的value值被改變時(shí),onpropertychange能夠捕獲每次改變,而onchange需要執(zhí)行某個(gè)事件才可以捕獲。
在文本框輸入數(shù)據(jù)的時(shí)候,當(dāng)鍵盤按下并放開的時(shí)候可以使用onkeyup來(lái)檢測(cè)事件,onpropertychange能夠捕獲每次改變,而onchange需要執(zhí)行某個(gè)事件才可以捕獲??墒怯械臅r(shí)候我們輸入數(shù)據(jù)是采用粘貼的方式而不是鍵盤輸入,這就需要實(shí)時(shí)檢測(cè)文本框狀態(tài)的改變。
onpropertychange 不被firefox所支持,如果想在firefox下正常使用,需要用oninput屬性,且需要用addEventListener來(lái)注冊(cè)事件。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
例子:
<html>
<body>
<div>oninput測(cè)試</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事件方法。
onpropertychange 不被firefox所支持,如果想在firefox下正常使用,需要用oninput屬性,且需要用addEventListener來(lái)注冊(cè)事件。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
例子:
復(fù)制代碼 代碼如下:
<html>
<body>
<div>oninput測(cè)試</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事件方法。
相關(guān)文章
默認(rèn)讓頁(yè)面的第一個(gè)控件選中的javascript代碼
當(dāng)頁(yè)面上面顯示了一個(gè)表單后,通常焦點(diǎn) 并不是放在第一個(gè)控件上面,只需要一點(diǎn)通常的腳本就可以實(shí)現(xiàn)這個(gè)效果 。2009-12-12javascript Select標(biāo)記中options操作方法集合
收集的比較全的關(guān)于用js操作select中的options方法2008-10-10可實(shí)現(xiàn)多表單提交的javascript函數(shù)
可實(shí)現(xiàn)多表單提交的javascript函數(shù)...2007-08-08更換select下拉菜單背景樣式的實(shí)現(xiàn)代碼
更換select下拉菜單背景樣式的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-12-12javascript textarea字?jǐn)?shù)限制
網(wǎng)頁(yè)中經(jīng)常會(huì)用到的一些字?jǐn)?shù)限制要求,下面的代碼應(yīng)該可以幫你解決這個(gè)問題,下面的代碼不論是text和textarea效果都是一樣的。2008-09-09