Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pseudoklasa :hover nie działa w IE dla ajaxowo ładowanych podstron
Forum PHP.pl > Forum > XML, AJAX
wujek_bogdan
Menu ładuje ajaxowo wg wykrytej wersji językowej przeglądarki. We wszystkich przeglądarkach działa OK, tylko oczywiście nie działa w IE (6-8).
Problem jaki się pojawia, to brak reakcji na :hover na elementach listy. Gdy menu załaduje statycznie w HTML, to wszystko jest OK.
Próbowałem obejść ten problem tworząc funkcję rebindEvents(), która wygląda tak:
Kod
if ($.browser.msie) {
            var rebindEvents = function(){
                $('.menuwrap .pl ul li:hover').css({
                    'cursor':'pointer!important',
                    'background-repeat':'no-repeat!important'
                });
                $('#menu ul li.realizacje:hover ').css({
                    'background-position':'-125px!important'
                });
            }
        }


i wywoływać ją po załadowaniu strony ajaxem
Kod
$('#menu').load('ajax/'+lang+'-menu.html',function(){
            rebindEvents();
        });

Ale to nie pomaga.

Macie jakieś inne pomysły na obejście tego problemu? Wykrywanie wersji po stronie PHP odpada, zależy mi na dynamicznym ładowaniu treści bez przeładowania strony.
webdice
Widzę że używasz jQuery. Poczytaj o live oraz hover.
wujek_bogdan
samo live nie pomaga... ale hover musi działać!
jakiegoś zaćmienia umysłowego musiałem dostać, że zamiast użyć .hover() kombinuję z .css() wink.gif)
thx,


//edit:
oczywiście działa. zastanawiam się tylko czy nie ma innego obejścia tego problemu niż przepisywanie wszystkich styli dla hoverów do JS.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.