首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JQuery:检测输入字段中的更改

JQuery:检测输入字段中的更改
EN

Stack Overflow用户
提问于 2012-10-09 18:10:46
回答 2查看 466K关注 0票数 256

我想要检测用户的键盘操作何时会改变文本字段的值。它应该在现代浏览器中一致地工作。

.keypress事件的JQuery页面显示不一致?此外,它不适用于退格键、删除键等。

我不能使用.keydown,因为它对shift、alt和箭头键等做出反应。而且,当用户按住一个键并插入多个字符时,它不会触发一次以上。

有没有我遗漏的简明方法?或者我应该使用.keydown并过滤掉由箭头键、shift等触发的事件?我主要担心的是会有一些我不知道的键应该被过滤掉。(我几乎忘记了alt和ctrl,我想可能还有其他的),但是我怎么才能检测按住并插入多个字符的键呢?

作为一个额外的好处,它可以检测到由于粘贴(包括右键单击)而产生的变化,但我从here那里得到了解决方案。

EN

回答 2

Stack Overflow用户

发布于 2012-10-09 18:18:13

使用$.on()将您选择的事件绑定到输入,不要使用$.keydown()等快捷方式,因为从jQuery 1.7开始,$.on()是附加事件处理程序的首选方法(请参阅此处:http://api.jquery.com/on/http://api.jquery.com/bind/)。

$.keydown()只是通向$.bind('keydown')的捷径,而$.bind()则是$.on()的替代品(其中包括)。

为了回答你的问题,据我所知,除非你特别需要在keydown上触发一个事件,否则change事件应该可以帮你完成这个任务。

代码语言:javascript
复制
$('element').on('change', function(){
    console.log('change');
});

为了回应下面的评论,这里记录了javascript change事件:https://developer.mozilla.org/en-US/docs/Web/Events/change

下面是使用jQuery:http://jsfiddle.net/p1m4xh08/处理输入元素的change事件的工作示例

票数 9
EN

Stack Overflow用户

发布于 2012-10-09 18:14:32

您可以使用jQuery change()函数

代码语言:javascript
复制
$('input').change(function(){
  //your codes
});

下面是如何在API页面上使用它的示例:http://api.jquery.com/change/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12797700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档