5 Stimmen

Bindung Hashchange-Ereignis in IE7 Problem

Ich habe einige Probleme mit der Bindung an das Hashchange-Ereignis in Internet Explorer 7. Alle anderen Versionen von Internet Explorer - dh. 8 & 9 Arbeit ohne Problem.

Mein Code lautet:

 $(window).bind('hashchange', function (e) { alert('hash changed'); });

Wenn sich der Hash der URL in Firefox, IE8 und IE9 ändert, erscheint die Warnmeldung, aber im IE7 passiert nichts.

Hat jemand diese Erfahrung schon einmal gemacht?

8voto

meder omuraliev Punkte 177513

Ich bin mir ziemlich sicher, dass IE6 und IE7 dies nicht von Haus aus unterstützen. Haben Sie versucht, mit Ben Alman's jquery BBQ Skript, das dies behebt?

0voto

johnny.rodgers Punkte 1339

[Diese Antwort wurde kopiert von jQuery - hashchange Ereignis ]

Ich bin gerade auf das gleiche Problem gestoßen (Fehlen eines Hashchange-Ereignisses im IE7). Eine Problemumgehung, die für meine Zwecke geeignet war, das Klick-Ereignis der Hash-ändernden Links zu binden.

<a class='hash-changer' href='#foo'>Foo</a>

<script type='text/javascript'>

if (("onhashchange" in window) && !($.browser.msie)) { 

    //modern browsers 
    $(window).bind('hashchange', function() {
        var hash = window.location.hash.replace(/^#/,'');
        //do whatever you need with the hash
    });

} else {

    //IE and browsers that don't support hashchange
    $('a.hash-changer').bind('click', function() {
        var hash = $(this).attr('href').replace(/^#/,'');
        //do whatever you need with the hash
    });

}

</script>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X