2011-02-14 21 views
1

我想知道羯羊存在於事件監聽器附加到變量的方法。這個想法是做這樣的事情:將javascript eventlistener附加到變量的理論?

someVar.addEventListener('change', someTodo, false); 

所以一旦someVar更改,即someVar = 1,someTodo將被執行。

我想明白 - 在理論上 - 事件監聽器可以被添加到DOM,beeing的變量不引發這些事件的一切問題,而HTML對象並觸發它們。 如果這是確實是正確的,擴展的問題是:如何培養DOM對象以觸發事件?我已經讀過關於原型設計的一些知識,這裏的訣竅是什麼?

請注意:我想了解,寫的是我的代碼我自己。所以,我寧願有興趣在理論然後使用如jQuery,這裏奇蹟的種種右中烤制了一些現有的東西。

馬爾科

+0

重複:http://stackoverflow.com/questions/1029241/javascript-object-watch-for-all-browsers – kirilloid 2011-02-14 06:23:21

+1

此問題已答覆在這裏:[StackOverflow - 4989337](http://stackoverflow.com/問題/ 1759987 /檢測值變量變化中的JavaScript) – Ryan 2011-02-14 06:25:40

回答

0

的安全和時間的考驗的方法是上使用getter和setter你的對象(即,你只允許通過像getX()/ setX())這樣的對象方法訪問變量。然後你可以重載setX()來觸發回調。有一些像Lua和Python這樣的語言,可以通過元函數訪問對象的成員,但我不相信Javascript支持這種方式。