ie onpropertychange和firefox的oninput

 if(navigator.userAgent.indexOf("MSIE")>=0) { 
  document.getElementById("cusRequestName").attachEvent('onpropertychange',function(o){
   if(document.getElementById("cusRequestName").value==""){
    document.getElementById("cusRequestNameC").checked = false;  
   }else{
    document.getElementById("cusRequestNameC").checked = true;;  
   }
  });
  
 }//IE

 if(navigator.userAgent.indexOf("Firefox")>=0){  
  document.getElementById("cusRequestName").addEventListener('input',function(o){
   if(document.getElementById("cusRequestName").value==""){
    document.getElementById("cusRequestNameC").checked = false;  
   }else{
    document.getElementById("cusRequestNameC").checked = true;;  
   }
  },false);
 }//FIRFOX

 根据浏览器的不同,使用的方法也不同。ie下的'onpropertychange'可以检测到一个text的value变化,无论是手动输入修改,还是因为js脚本修改了value的值。

但是firefox就不同的,对于firefox只能用oninput来检测到手动输入改变的value值,对于js脚本改变的value,就无能为力检测不到了。

类似的,firefox有一个类似的方法DOMAttrModified,但是这个也只是限于attribute的变化,value值的改变同样检测不出来。一定要注意:是attribute的变化,如果下次还是用了setAttribute("x",1),那么是不会alert的,因为这次和上次attribute的值没有变化。

 

<div id="div1">dfd</div>
<script>
document.getElementById("div1").addEventListener("DOMAttrModified",function(e){
    alert("属性发生改变");
     },false);
document.getElementById("div1").setAttribute("x",1);
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值