javascript - 如何从 iPhone 网络应用程序上的键盘捕获事件?

标签 javascript iphone

这看起来很简单,但有一个很大的复杂性我无法解决。如果我使用 $('input').onkeyup 我确实得到了事件,但问题在于自动更正和日文汉字输入(后者给出了正确汉字的建议列表,您单击它以转换罗马字input,但是点击没有捕捉到 $('input').onkeyup,焦点也没有改变。看这里,点击左边的蓝色,表单会变成这样:

alt text

这些元素看起来像是 HTML 元素(“自动更正”或“汉字”),但我看不出如何真正得到它们,因为它们只出现在模拟器中,而不是 Safari 中。

如果做不到这一点,是否有一种简单的方法来执行“单击任意位置”并检查“输入”是否具有焦点,但实际上没有单击该位置?

最佳答案

我自己还没有对此进行测试,但我希望至少在 webkit 中该特定流程会发送一个“textInput”事件。

http://www.w3.org/TR/DOM-Level-3-Events/#event-type-textInput

具体来说,您会期望这种类型的事件“来自输入法编辑器的处理”,这听起来与您的情况完全一样。您可能需要检查事件的额外属性以找出有关实际输入的信息。

有关此事件的其他信息可在此处找到: http://unixpapa.com/js/key.html

编辑:请注意,此事件可能仅适用于标准的 addEventListener 方法,而不是像您对 element.onkeyup 所做的那样简单的处理程序属性设置

编辑:同样值得检查我链接的第一个文档中列出的“组合”事件类型。可能会有一些重叠,具体取决于您要处理的事件。

关于javascript - 如何从 iPhone 网络应用程序上的键盘捕获事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4316162/

相关文章:

javascript - Extjs - 在选项卡标题上对齐图标

javascript - 无法设置未定义的属性 '01'

javascript - Android WebView JavaScript onClick 错误

iphone - NSPredicate - 基于 BOOLEAN 存储值过滤值

iphone - 'NSObject<PageControlDelegate>' 没有可见的@interface 声明选择器 'pageControlPageDidChange:'

javascript - 对数组中的重复项进行排序

javascript - 在<li>中放置onClick事件来调用AJAX

ios - 需要访问包含CLLocation信息的NSArray对象

iphone - 当用户点击返回时,如何将下一个文本字段设置为编辑焦点?

iphone - 无法在核心数据中重新排序 NSOrderedSet 关系