【问题标题】:Cocoa WebKit - detecting CSS rollover/hoverCocoa WebKit - 检测 CSS 翻转/悬停
【发布时间】:2009-06-18 03:04:58
【问题描述】:

我有一个显示 HTML 页面的 WebView,链接到一个 CSS 文件。

CSS 文件使用伪类 :active 和 :hover 来实现翻转效果。

问。在我的 WebView 中,我如何判断 :active 和 :hover 何时被调用?我想拦截这些调用并在 Cocoa 中以编程方式处理它们。

谢谢。

【问题讨论】:

    标签: css cocoa webkit webview


    【解决方案1】:

    :active 和 :hover 不是调用;它们是 CSS 伪类,用于 CSS 选择器。您在 CSS 中使用它们来选择 元素来设置样式。它们是形容词,不是动词。

    尝试将 JavaScript 事件处理程序添加到元素中。您可以使用 WebScriptObject 将一些 Cocoa 方法投影到 JavaScript 空间中,以供事件处理程序使用。

    【讨论】:

    • 是的,他说的。 :active 只是 onmousedown 和 :hover 是 onmouseover,或多或少
    • 感谢您的帮助。我采用了 WebScriptObject 方法,在 mouseOver 和 onClick 事件处理程序上调用 myCococa 代码。干杯。
    【解决方案2】:

    我正在查看 2.2 SDK 文档,但在 UIWebViewDelegate 协议中看不到任何内容。实现这一点的最大希望可能是UIWebView 中的实例方法stringByEvaluatingJavaScriptFromString。不幸的是,这可能意味着某种轮询,因为似乎没有办法定义 JavaScript 可以为此类事件回调的 Objective-C 方法。我可能是错的,但我不认为它可以做到(在 2.2 中)。

    【讨论】:

    • “2.2 SDK”? :hover 特别是在基于触摸的设备上没有多大意义。我认为假设提问者在谈论 Mac 是合理的。
    猜你喜欢
    • 2011-11-21
    • 2012-12-26
    • 1970-01-01
    • 2012-06-17
    • 2015-08-17
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多