2013-05-30 86 views
0

我有一個全局變量,只有當用戶輸入特定的輸入時纔會設置爲true,並且我希望能夠啓動一個函數。其中一些輸入不通過處理程序,所以我不能使用JQuery change()函數。當布爾變爲true時,如何獲得一個函數調用的集合?

有關如何解決此問題的任何建議?

+0

更多情況下是必要的在這裏。目前爲止有什麼?你嘗試了什麼?爲什麼你沒有嘗試過的工作? –

+0

除了使用間隔和重複檢查變量,或者做大多數人做的事情之外,沒有事件檢查變量是否發生變化,而不是在輸入發生變化時觸發該變量。 – adeneo

回答

3

使用定製的getter做別的事情,當值的變化:

myGlobal=true; 


(function(){ 
    var shadow=myGlobal; 
Object.defineProperty(
    window, 
    "myGlobal", 
    { 
    get: function() {return shadow;}, 
    set: function(v){alert('myGlobal is now ' + v); return shadow=v;} 
    } 
); 

}()); 

myGlobal=false; 
myGlobal=true; 

這部作品在老十歲上下的IE,並規定少PERF命中比Object.watch()和polyfills的。

+0

「舊式IE」意味着版本8和9? – Bergi

相關問題