2011-05-13 147 views
1

如果以前曾問過這個問題,我表示歉意,但是,有沒有辦法將一個事件監聽器/處理程序添加到Javascript對象?最好使用JQuery。javascript對象的jquery事件監聽器

如:

var foo; 
$(foo).bind('change', function() { 
    alert("Foo has changed!"); 
}); 

我已經試過了,但好像沒有什麼改變。這隻適用於DOM元素嗎?

編輯: 我需要每次音頻或視頻標籤引發錯誤時觸發一個事件。最初,我使用間隔來檢查'media.error'對象是否爲空,但是這使用了額外的處理能力,我想避免它。

編輯2:顯然我錯了,我發現最簡單的方法是將「onerror」屬性添加到視頻/音頻標籤。

回答

1

我同意Cheeso對你來說說你真正想要做什麼更重要,但是你的具體問題的一個解決方法可能是將你的變量存儲在一個對象中,只能通過getter/setter提供訪問,然後你可以在二傳手中做你想做的事情。例如

function data() { 
    var foo = 0; 

    this.setFoo = function(newVal) { 
     foo = newVal; 
     alert(foo); 
    }; 
} 

var theData = new data(); 

theData.setFoo(5); 
0

是的,這是正確的。你不能做一個「可變觀察者」。變化時不會爲變量觸發事件。

你在做什麼真的試圖做什麼?

+0

我修改了提交澄清。 – jdw 2011-05-14 02:07:26