function myClass(myobject){
var myclass = {};
myclass.registerEvent = function(){
$('#'+myobject.id).live('someEventThatTriggersRightAway', runMe);
};
runMe = function(){
$('#'+myobject.id).die('someEventThatTriggersRightAway', runMe);
console.log("Hello "+myobject.name);
};
return myclass;
}
var instance1 = new myClass({id:'button1',name:'MATO'});
var instance2 = new myClass({id:'button2',name:'YAMA'});
instance1.registerEvent();
結果是
Hello YAMA
這是因爲如果一審已經由第二一個覆蓋。我可以解決這個問題,只要我可以在事件回調中傳遞'myobject',但我不知道該怎麼做。而且如果它有參數,我也無法殺死它。我怎樣才能做到這一點?
謝謝!
哇,我愛你的人!我感到非常愚蠢。我不知道你應該把功能放在太多!哇!這基本上解決了我的問題。我有一個問題...我用bind()和unbind()及其工作...是好的嗎?或委託()應該更好? –
沒問題,很高興我可以幫助:)如果在代碼運行時DOM中存在元素,則可以使用'bind'和'unbind'。如果不是的話,你可以使用'delegate'把更高的事件委託給DOM樹。 –