[jQuery DEV] selektor :hover w Operze

Jeżeli chcemy użyć selektora :hover w swoim kodzie źródłowym JavaScript-u, musimy zważyć na jeden problem: W Operze to po prostu nie działa.

Przykład:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
</head>
<body>
        <div style="width: 100px;height: 100px; background: green;"></div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$("div").click(function(){
if($("div").is(":hover"))
    $("div").css("background", "red");
});
</script>
</body>
</html>

W przeglądarce Opera 11.61 powoduje to wywołanie błędu:

Uncaught exception: Syntax error, unrecognized expression: hover

Nasze szybkie rozwiązanie tego problemu wygląda następująco:

<script type="text/javascript">
//każdy element po najechaniu będzie miał zmienną is_hover=true a po opuszczeniu elementu is_hover=false
$('*').hover(function(){$(this).data('is_hover', true)},function(){$(this).data('is_hover', false)});

//sprawdzamy działanie:
$("div").click(function(){
    if($("div").data("is_hover"))
        $("div").css("background", "red");
});
</script>

Planowany start strony Polish WebDesign

Witaj na stronie firmy Polish WebDesign!

Witryna jest w fazie budowy, planowany start: 10.10.2012.

Powrót do góry

Projektowanie stron internetowych

Zajmujemy się projektowaniem stron internetowych oraz kreowaniem wizerunku firm w internecie.
W zakresie naszych usług jest także budowa sklepów internetowych, modyfikowanie istniejących stron WWW, wsparcie oraz doradztwo w zakresie technologii IT.

Skontaktuj się z Polish WebDesign

Polish WebDesign – Cezary Nowak
Ul. Osikowa 9/1
01-928 Warszawa

NIP: 118 187 90 30
REGON: 142596480

Telefon: +48 533 628 000
Email: info@polishwebdesign.pl