700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 有关input输入框内容改变后的触发事件

有关input输入框内容改变后的触发事件

时间:2024-01-01 11:51:44

相关推荐

有关input输入框内容改变后的触发事件

有关input输入框内容改变后的触发事件,也是今天遇到的问题。我使用时间插件为输入框填充内容,想实现输入框内容改变后执行相应的方法,发现使用change方法没有反应。百度了半天,最后才发现问题所在。

我这边考虑两种情况,一种是input输入框正常输入,另一种是给输入框赋值。

1、input输入框正常输入

所谓的正常输入,就是在input输入框当中进行手动输入,这种情况下change方法是有效的。

change事件的原理:在元素获得焦点时,保存当前值,失去焦点时,会将当前值与原保存的值进行比较,如果不同,则触发change事件。

以下方式可以兼容所有的浏览器,与change的原理相似:

$("input#id").focus(function(){$(this).attr("data-oval",$(this).val()); //将当前值存入自定义属性}).blur(function(){var oldVal=($(this).attr("data-oval")); //获取原值var newVal=($(this).val()); //获取当前值if (oldVal!=newVal){//do what you want}}

2、给输入框赋值

我这边使用的是时间插件给input赋值,该插件有定义一个选完事件后的一个回调函数。如果是使用插件的话,可以看下源码当中有没有定义类似change的方法。
如果是通过脚本给input赋值的话,可以在赋值完再执行change事件。这是百度看到的,还没有测试过,有看到的人可以自行测试一下。

### 写的第一个博客,觉得问题可以记录下来。也是菜鸟一只,看到的可以参考参考,有问题也请包容,并可以提出来,一起学习。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。