HTML文本框内容发生变化时引发事件执行

最近在做的程序中需要这样的一个功能:当HTML文本框内容生发变化时执行JavaScript函数.

最初的想法是使用onchange,但这个事件只有当文本框失去焦点时才会触发,后来就找到了onpropertychange事件.如下:
< input  id ="textRoad"  type ="text"  size ="15"  onpropertychange ="alert(this.value);" >

但很快发现存在问题.在使用微软拼音输入法和部分五笔输入法时,每次有键按下都会触发onpropertychange事件.

想来想去,改于onkeyup事件加判断条件来处理,代码如下:
< SCRIPT  language ="JavaScript" >
var  sOldValue;
sOldValue 
=   "" ;

function  tttt(vNewValue)
{
    
// alert(vNewValue);
    
if  (sOldValue  !=  vNewValue)
    {
        alert(vNewValue);
        sOldValue 
=  vNewValue;
    }
}
</ script >
< body " >
<!-- <input id="textRoad" type="text" size="15" onpropertychange="alert(this.value);"> -->
< input  id ="textRoad"  type ="text"  size ="15"  onKeyUp ="tttt(this.value)" >
</ body >

由一个变量 sOldValue记录文本框原始值, onKeyUp 时,判断新值与原始值比较是否有发生变化.若有变化时,执行相应的处理.

现在基本实现了要达到的目标.唯一的遗憾是:微软拼音比较诡异,是先把字输入到文本框,再由用户选择,再修改文本框内的值.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值