2012-09-25 43 views
0

我的应用程序允许用户使用所有箭头键在键盘周围导航并进行转义。用户可以打开和关闭项目,包括链接。如果用户打开一个到webview的链接,并且webview获得第一响应者,并且用户没有在html输入内编辑,我仍然希望用户能够使用键盘进行导航。因此,如果用户在阅读网页时按下左箭头键,我希望用户在网格中向左移动。除了将JavaScript注入webview加载的每个页面之外,是否有可能以任何其他方式检测此问题?我知道如何覆盖NSWindow sendEvent或实现WebEditingDelegate协议,但如何检测用户是否在web视图内编辑?WebView键输入

回答

0

不确定如何检测用户是否在没有Javascript的情况下在Webview中进行编辑,但取决于您的应用程序可能无关紧要。我注意到,如果用户在html输入字段中编辑sendEvent并不总是在NSWindow上调用,并且WebView会吞下大多数事件,但某些键(例如,换码和返回键)除外。因此,只需覆盖sendEvent并测试firstResponder是否为webview。如果是这样,您可以将您感兴趣的关键事件重定向到您自己的事件处理程序,以便webView不会吞下所有这些重要事件。