这似乎很容易但是有一个很大的复杂因素我无法解决。如果我使用$('input')。onkeyup我确实得到了事件,但问题在于自动更正和日文汉字输入(后者提供了正确的汉字的建议列表,你点击它来转换罗马输入,但是点击没有捕获$('input')。onkeyup,焦点没有改变。看到这里,点击左边的蓝色,表格改为:
这些元素看起来像是HTML元素('autocorrect'或'kanji'),但我看不出它们是如何实际获得它们的,因为它们只出现在模拟器中,而不是在Safari中。
如果做错了,是否有一种简单的方法可以“点击任何地方”并检查'输入'是否具有焦点,但实际上不是实际点击的地方?
答案 0 :(得分:1)
我自己没有对此进行测试,但我希望特定的流程至少在webkit中调度“textInput”事件。
http://www.w3.org/TR/DOM-Level-3-Events/#event-type-textInput
具体来说,你会期望这种类型的事件“来自输入法编辑器的处理”听起来与你的情况完全一样。您可能需要检查事件的额外属性以找出有关实际输入的信息。
有关此活动的更多信息,请访问: http://unixpapa.com/js/key.html
编辑:请注意,此事件可能只适用于标准的addEventListener方法,而不是像使用element.onkeyup那样的简单处理程序属性设置
编辑:还值得查看我链接的第一个文档中列出的“组合”事件类型。根据您想要处理的事件,可能会有一些重叠。