用于IE7的hashchange polyfill,可以跟踪每个tick的多个事件

时间:2012-03-07 23:19:19

标签: javascript javascript-events

我需要每次打勾多次触发哈希更改事件。

我目前的polyfill看起来像这样。

//If the hashchange event is missing implement it
hashchangeSupported || (function() {

    //save the current hash for reference next cycle
    var lastHash = location.hash;

    //check the hash for changes every tick
    setInterval(function() {

        //if the hash is different since the last tick then
        // fire a hash change event.
        if(lastHash !== location.hash) {
            trigger('hashchange', window);
            lastHash = location.hash;
        }
    }, 1);
});

问题是如果散列每次更新多次更新,它仍然只会触发一个散列更改事件。我正在寻找一种方法来检查每个滴答一次的变化。

我知道这是一个很大的问题而且我怀疑它有可能没有getter和setter但是我知道有更好的程序员我堆栈溢出而我想要一些第二意见。

1 个答案:

答案 0 :(得分:0)

如果没有proxies,则无法实现。