在做web开发时,很多场景都需要我们来监听输入框的变化,以便作出即使动作去引导浏览者增强网站的用户体验,有几种涉及到的方法:
1、onchange:(触发onchange事件需要满足两个条件)
当对象属性改变时,并且由键盘或鼠标事件触发的(脚本触发无效);
当前对象失去焦点(onblur)。
2、onpropertychange:IE下,当一个HTML元素的属性改变的时候能通过onpropertychange来及时捕获。无需失去焦点,在js脚本改动元素值时亦能触发onpropertychange事件。
3、oninput:是onpropertychange的非IE浏览器版本,支持firefox和opera等浏览器,但有一点不同,它绑定于对象时,并非该对象所有属性改变都能触发事件,它只在对象value值发生改变时奏效。
4、因此,可以采用以下代码实时监听输入框值的变化:
$("#i1").bind("input propertychange change",function(event){
$("#i2").val($("#i1").val());
});
同时我们可以使用js的方式实现:
window.οnlοad=function(){
var i1=document.getElementById("i1");
var i2=document.getElementById("i2");
if(document.all){
i1.onpropertychange=function(){
i2.value = i1.value;
}
}
else{
i1.οninput=function(){
i2.value = i1.value;
}
}
}