【发布时间】:2009-06-18 03:04:58
【问题描述】:
我有一个显示 HTML 页面的 WebView,链接到一个 CSS 文件。
CSS 文件使用伪类 :active 和 :hover 来实现翻转效果。
问。在我的 WebView 中,我如何判断 :active 和 :hover 何时被调用?我想拦截这些调用并在 Cocoa 中以编程方式处理它们。
谢谢。
【问题讨论】:
我有一个显示 HTML 页面的 WebView,链接到一个 CSS 文件。
CSS 文件使用伪类 :active 和 :hover 来实现翻转效果。
问。在我的 WebView 中,我如何判断 :active 和 :hover 何时被调用?我想拦截这些调用并在 Cocoa 中以编程方式处理它们。
谢谢。
【问题讨论】:
:active 和 :hover 不是调用;它们是 CSS 伪类,用于 CSS 选择器。您在 CSS 中使用它们来选择 元素来设置样式。它们是形容词,不是动词。
尝试将 JavaScript 事件处理程序添加到元素中。您可以使用 WebScriptObject 将一些 Cocoa 方法投影到 JavaScript 空间中,以供事件处理程序使用。
【讨论】:
我正在查看 2.2 SDK 文档,但在 UIWebViewDelegate 协议中看不到任何内容。实现这一点的最大希望可能是UIWebView 中的实例方法stringByEvaluatingJavaScriptFromString。不幸的是,这可能意味着某种轮询,因为似乎没有办法定义 JavaScript 可以为此类事件回调的 Objective-C 方法。我可能是错的,但我不认为它可以做到(在 2.2 中)。
【讨论】: