Ik probeer een JS hashchange event te unbinden, om zo de hash te kunnen veranderen zonder dat de relevante event handler gecalled wordt.
Echter als ik dat doe, vuurt de relevante handler alsnog. Als ik er een alert() tussen plaats, gaat het wél goed. Ik heb ook gepoogd een (lange) for loop ertussen te plaatsen, zelfde probleem.
Ik heb nog even gezocht naar een soort ready() functie in jQuery, zonder succes (i.t.t. sommige jQuery functies heeft off() geen ready functie als laatste argument). Elders op internet suggereerde iemand om binnen de on() functie de handler in zijn eigen function(){} te handlen (anders vuurt hij direct), maar dat heb ik al.
Ideeën?
Echter als ik dat doe, vuurt de relevante handler alsnog. Als ik er een alert() tussen plaats, gaat het wél goed. Ik heb ook gepoogd een (lange) for loop ertussen te plaatsen, zelfde probleem.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| // Remove event handler jQuery(window).off('hashchange'); // Set browser URI to data window.location.hash = watnuttigedata; // Deze alert is nodig, anders triggert de functie alsnog.. alert('test'); // Enable hashchange event again jQuery(window).on('hashchange', function(){ handle_hash(); }); |
Ik heb nog even gezocht naar een soort ready() functie in jQuery, zonder succes (i.t.t. sommige jQuery functies heeft off() geen ready functie als laatste argument). Elders op internet suggereerde iemand om binnen de on() functie de handler in zijn eigen function(){} te handlen (anders vuurt hij direct), maar dat heb ik al.
Ideeën?
[ Voor 4% gewijzigd door geez op 07-11-2016 18:49 ]