【发布时间】:2010-04-27 18:06:36
【问题描述】:
我很难在 javascript/jQuery 中将退格键捕获为键盘事件。在 Firefox、Safari、Opera、Chrome 和 iPhone/iPad 上,我在文本输入框上捕获了一个 keyup 事件,如下所示:
$(id_input).keyup(function(event) {
that.GetHints($(this).val().trim(), event, fieldName);
});
此事件捕获用户击键,然后将它们发送到函数以发出 ajax 查找调用。
当用户希望在他/她已经输入的字符上退格时,我的问题就出现了。在我可以访问的所有浏览器中,除了我的 Droid 手机,当我按下退格键时,这个 keyup 事件会捕获 $(this).val().trim() 返回的值并将其发送到函数中处理获取提示。然而,在 Droid 上,这个 keyup 和等效的 keydown 事件都不会触发,直到用户退格到 $(this) 中的每个字符。
因此,例如,如果我输入“cu”,然后在“u”上退格,在输入字段中只留下“c”,在除 Droid 之外的所有浏览器中,keyup 事件将触发并调用函数GetHints("c", event, fieldName)。在 Droid 上,keyup 事件永远不会触发。
我错过了什么?我的 Droid 上的软键盘或硬键盘上的退格键如何/为什么无法按预期运行?我该如何解决这个问题?
【问题讨论】:
-
只是在黑暗中拍摄,因为这听起来像一个 android 问题:您是否尝试过 keydown 或 keypress 事件?也许你会有更多的运气。
-
是的,我会尝试按键而不是按键
标签: javascript jquery android