jquery文本框内容改变触发事件的例子

发布时间:2020-01-19编辑:脚本学堂
本文介绍了jquery实现文本框内容改变时触发事件的实现代码,使用onpropertychange事件,需要的朋友参考下。

input 在IE中有onchange事件,它所表现的效果为:当input内的内容发现更改时,并不会触发你所指定的方法(函数)。
可以使用onpropertychange 这个事件,在IE下是可行的。

以下代码可以解决firefox中文本框事件的问题。
 

jquery(function($) {
 if (navigator.userAgent.indexOf("MSIE") > 0) {
      document.getElementById('txtABC').attachEvent("onpropertychange", txChange);
  }
  else if (navigator.userAgent.indexOf("Firefox") > 0) {
      document.getElementById('txtABC').addEventListener("input", txChange2, false); 
  }
})
 

先判断是哪种浏览器,然后使用它们自带的事件注册方法去注册事件。

另外,如果要兼容N个浏览器,是否要写N个浏览器的注册事件?

解决方法:
监视键盘事件,每次获取键盘事件时,都会去判断是否与前一次内容是否相同,不相同就触发相关方法(函数)

代码:
 

var txtValue;
////////预加载
jQuery(function($) {
txtValue = $("#txtABC").val();
////////    给txtbox绑定键盘事件
$("#txtABC").bind("keydown", function() {
var currentValue = $(this).val();
if (currentValue != txtValue) {
    TxtChange();
    txtValue = currentValue;
}
 });

});
//////  目标选择框文本发生更改时
function TxtChange() {
    alert('');  
}

大部分浏览器都支持keydown事件,以上代码可以兼容大部分浏览器。