转载:text中onchange事件迟缓

最近工作中遇到这样的问题,在text框中输入内容直接提交表单,并不触发onchange()事件。网上搜了一下原来text的onchange事件只有在text失去焦点的时候才被触发。

解决方法:

1.onpropertychange事件    只适用于IE,可以实现真正意义上的“change”事件。

2.主动触发change事件   object.fireEvent('onchange')。

对于非IE浏览器,可以用oninput,但是oninput必须用addEventListener的方式来绑定事件否则无效。

以下代码为转载:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>on用onpropertychange,oninput事件解决onchange事件的不足 by koyoz.com</title> 
<mce:style type="text/css"><!--
 
*{font-size:14px;font-family:'Comic Sans MS', Verdana} 
body {margin-left:20px} 
--></mce:style><style type="text/css" mce_bogus="1"> 
*{font-size:14px;font-family:'Comic Sans MS', Verdana} 
body {margin-left:20px} </style> 
</head> 

<body> 
<p>使用onchange事件: </p> 
<input type="text" id="txt1" /> 
<p>使用onpropertychange/oninput事件: </p> 
<input type="text" id="txt2" /> 
<p>结果:</p> 
<input type="text" id="txt" /> 


<mce:script type="text/javascript"><!--
 
var $ = function(o) { 
return document.getElementById(o) 
}; 

$('txt1').onchange = function() { 
$('txt').value = this.value; 
} 

$('txt2').onpropertychange = function() { 
$('txt').value = this.value; 
} 

if (window.addEventListener) { 
$('txt2').addEventListener('input', function() {$('txt').value = this.value}, false); 
} 
// --></mce:script> 
</body> 
</html>

 

转载地址:http://blog.csdn.net/lajianguo/archive/2009/09/02/4513405.aspx

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值