hashchange Event for soveriegn URL schemes

fire events when the onpage anchor changes

by khrome

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/mootools/1.4.5/mootools-core-full-compat.js"></script>
<a href="#one">One</a>|<a href="#two">Two</a>

JavaScript

Element.Events.hashchange = {
    onAdd: function (){
        var hash = location.hash;
        var hashchange = function (){
            //alert('change');
            if (hash == location.hash) return;
            else hash = location.hash;
            var value = (hash.indexOf('#') == 0 ? hash.substr(1) : hash);
            window.fireEvent('hashchange', value);
            document.fireEvent('hashchange', value);
        };
        if ("onhashchange" in window) window.onhashchange = hashchange;
        else hashchange.periodical(50);
    }
};

window.addEvent('hashchange', function(hash){
    alert(hash);
});