0

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

4

1 回答 1

0

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

于 2012-10-01T14:03:01.210 回答