【问题标题】:WebView key inputWebView 键输入
【发布时间】:2012-09-17 07:43:03
【问题描述】:

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

【问题讨论】:

    标签: macos cocoa appkit


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 1970-01-01
      • 2021-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多