onchange 、oninput和onpropeerchange事件用法的区别

来源:互联网 发布:centos 6.5改root密码 编辑:程序博客网 时间:2024/04/30 14:26

:1:onchange事件:只在键盘或者鼠标操作改变对象属性,且失去焦点时触发,脚本触发无效;
2:oninput事件:onpropertychange为IE专属的。其他浏览器下如果想要实现这一实时监听的需求,就要用到HTML5中的标准事件oninput,不过IE9以下的浏览器是不支持oninput事件的。所以我们需要综合oninput和onpropertychange二者来实现文本区域实时监听的功能。举例如下:
处理ie浏览器和非ie在oninput事件的兼容性方法:
1:对支持oninput的浏览器用oninput,其他浏览器(IE6/7/8)使用onpropertychange,

var testinput = document.createElement('input');      if('oninput' in testinput){      object.addEventListener("input",fn,false);  }else{      object.onpropertychange = fn;  }  

2:对所有ie使用onpropertychange,其他浏览器用oninput:

var ie = !!window.ActiveXObject;  if(ie){      object.onpropertychange = fn;  }else{      object.addEventListener("input",fn,false);  }  

转载地址

1 0