是否可以在對象(oop)中定義點擊事件? 我對此很陌生。 我一直在嘗試了以下內容:(一simplyfied代碼(沒有DIV等CSS))oop:單擊事件
function menu_item(menu_name){
this.menu_name=menu_name;
this.create = function(){
$('body').html("<div id=" + menu_name + " />");
};
$('#' + menu_name).on('click',function(){
alert (menu_name);
});
}
menu_item("test");
menu_item.create();
現在,當我在DIV上單擊給定MENU_NAME的ID, 我想提醒的名稱(作爲測試),但這是行不通的... 這甚至可能嗎?
幾件事情:雖然,沒錯,這_can_來完成,這是遠遠好習慣:'變種富=新MENU_ITEM( 'foobar的'); var bar = new menu_item('foobar');'會導致問題。此外:約定規定構造函數以大寫字母開頭,但最重要的是:您的構造函數創建一個對象,最好將其留在那裏。構造函數不應該混淆DOM。一個物體只應該自己打擾,而不是在那裏_什麼。最後:你正在定義函數和創建閉包(可能不知道它),具體如下:'alert(menu_name);'不會按預期執行 –
謝謝。我意識到第一個問題...我將不得不使用相同的ID元素...在它上面工作。 我可以告訴你我想用這個編碼完成什麼: 我想輕鬆地創建多個菜單項,當點擊後移動,然後在某個點打開以顯示一些可信度。 在原始代碼中,我有更多的對象屬性: menu_item(menu_name,menu_link,menu_target,x_offset,y_offset,x_target,y_target,how_fast,x_size,y_size) 真的是一個糟糕的主意嘗試這樣做? 提示歡迎,因爲這是我的第一個類似OOP的編碼... Badankt! – Nomistake