0 votes

Cocoa WebKit - détection du rollover/hover CSS

J'ai un WebView qui affiche une page HTML, avec un lien vers un fichier CSS.

Le fichier CSS utilise les pseudoclasses :active et :hover pour les effets de survol.

Q. Comment puis-je savoir, dans mon WebView, quand :active et :hover ont été appelés ? J'aimerais intercepter ces appels et les traiter de manière programmatique dans Cocoa.

Merci.

2voto

Peter Hosey Points 66275

:active et :hover ne sont pas des appels ; ce sont des pseudo-classes CSS, à utiliser dans les sélecteurs CSS. Vous les utilisez dans CSS pour sélectionnez éléments à styliser. Ce sont des adjectifs, pas des verbes.

Essayez plutôt d'ajouter des gestionnaires d'événements JavaScript aux éléments. Vous pouvez utiliser un WebScriptObject pour projeter certaines de vos méthodes Cocoa dans l'espace JavaScript afin de les utiliser à partir des gestionnaires d'événements.

-1voto

dlamblin Points 14546

Je consulte la documentation du SDK 2.2 et je ne vois rien dans la section UIWebViewDelegate protocole. Le meilleur moyen d'y parvenir est peut-être la méthode d'instance dans le module UIWebView appelé stringByEvaluatingJavaScriptFromString . Malheureusement, cela impliquerait probablement une sorte de polling, car il ne semble pas y avoir de moyen de définir une méthode Objective-C que JavaScript pourrait rappeler pour un tel événement. Je peux me tromper, mais je ne pense pas que ce soit possible (en 2.2).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X