我正在開發一個JavaScript項目,我們正在爲我們在辦公室使用的組織網站構建一個Greasemonkey插件。我們無法讓我們的更改保持呈現狀態,因爲我們不能簡單地將更改注入現有的呈現功能。如何將函數綁定到Javascript中對象的數據成員中的更改?
因此,我們需要找到渲染髮生的每個事件並在那裏注入我們自己的渲染函數。然而,我們可以看到一些事件發生,但我們無法將它們掛鉤。我想知道的是如何將一個函數綁定到對象的數據成員,以便該成員更改時調用該函數。我們的一個團隊成員似乎認爲這是可能的,但他告訴我們使用的方法似乎並不奏效。
我們嘗試什麼沿
window.Controller.bind("change:idBoardCurrent", OMGITWORKED);
其中idBoardCurrent
是window.Controller
和OMGITWORKED
成員線的東西是我們想要的功能時window.Controller.idBoardCurrent
改變時被調用。
我對JavaScript或數據綁定不是很熟悉,所以我不知道這是對還是錯,或者它是正確的還是不正確的。如果有人能指出在這個片段中要改變什麼,或者如果他們能夠提出另一種方式來解決這個問題,我會非常感激。
你的答案看起來很有希望,但這裏的對象(window.Controller)沒有defineProperty方法。它只有一個綁定方法,這就是我們最初使用它的原因。 – 2012-07-25 13:44:45
window.Controller對象來自哪裏? 你不能做Object.defineProperty(window.Controller',「idBoardCurrent」,....)' 因爲它的一個Object,所以「main」對象方法(defineProperty)應該能夠定義一個properties它。 (不是window.Controller有方法,它的javascripts Object對象) – C5H8NNaO4 2012-07-25 13:50:24
非常感謝。藉助我有限的Javascript體驗,我並沒有意識到自己最初的意思,但是我實現了您所做的更改並且完美地工作! – 2012-07-25 14:00:00