2009-06-18 11 views
0

У меня есть WebView, отображающий HTML-страницу, ссылаясь на файл CSS.Cocoa WebKit - обнаружение CSS rollover/hover

Файл CSS использует псевдоклассы: active и: hover для эффектов опрокидывания.

В. Как я могу узнать, в моем WebView, когда: active и: hover были вызваны? Я хотел бы перехватить эти призывы и действовать на них программно в рамках Cocoa.

Спасибо.

ответ

2

: active и: hover не являются вызовами; это псевдо-классы CSS для использования в CSS-селекторах. Вы используете их в CSS до . Выберите элементов в стиле. Это прилагательные, а не глаголы.

Попробуйте добавить обработчики событий JavaScript вместо элементов. Вы можете использовать WebScriptObject для проектирования некоторых ваших методов Cocoa в пространстве JavaScript для использования с обработчиками событий.

+0

Да, что он сказал. : active только onmousedown и: hover onmouseover, более-менее – SpliFF

+0

Спасибо за помощь. Я пошел с подходом WebScriptObject, вызвав код myCococa на обработчиках событий mouseOver и onClick. Приветствия. – SirRatty

-1

Я просматриваю документы 2.2 SDK, и ничего не вижу в протоколе UIWebViewDelegate. Лучшая надежда на выполнение этого может быть методом экземпляра в UIWebView под названием stringByEvaluatingJavaScriptFromString. К сожалению, это, вероятно, подразумевает какой-то опрос, поскольку, похоже, нет способа определить метод Objective-C, который JavaScript мог бы перезвонить для такого события. Возможно, я ошибаюсь, но я не думаю, что это можно сделать (в 2.2).

+2

"2.2 SDK"? : зависание, в частности, не имеет особого смысла на сенсорном устройстве. Я думаю, что разумно предположить, что вопросник говорит о Mac. –