JQuery取消输入的文本
JQuery cancel entered text
在<input type="text">
字段中键入时,我希望在输入的每个值出现在屏幕上之前进行预检查。例如,如果用户输入任何非数值,则不会发生任何事情,并且只有当用户输入数值时,字段才会更改。
使用keydown()
、keyup()
哪个事件是正确的,或者有更好的事件吗?如何在不必记住旧值并手动重置的情况下取消文本字段的当前更改?
您可以绑定到keypress
事件,然后检查事件对象的which
属性所表示的字符。如果不是数字,可以使用preventDefault
来防止将字符写入元素的默认行为:
$("#someInput").keypress(function(e) {
if(isNaN(String.fromCharCode(e.which))) {
e.preventDefault();
}
});
下面是一个工作示例。
相关文章:
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- Sails.js:同时发布文本输入和一个文件
- 来自文本输入null的html javascript变量
- 当没有文本输入聚焦时检测空格键按下
- JS中的按钮和文本输入
- JavaScript:在调用函数的文本输入上按enter键
- jQuery自动完成功能不适用于多个文本输入
- 使用JS从选择和文本输入中捕获值,并将输出返回到HTML
- 如何通过jQuery发送选定的元素和文本输入
- HTML如何根据javascript函数的返回值限制文本输入
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在jquery中获取文本输入val始终为空
- HTML文本输入大小
- 文本输入与文本区域
- 角度ui选择标记模糊时丢失文本输入
- 文本输入值中的JavaScript变量
- Angular指令中的最佳实践是将文本输入设置为英尺和英寸的格式
- 如何在不通过模型验证的情况下屏蔽文本输入中输入的字符
- 在文本输入区域中创建双向更新
- 不使用自定义CSS或HTML(使用框架方法)的角度材质文本输入或文本区域标签大小