假設我正在編寫一個web應用程序,並且我希望在某個函數已經在多個位置聲明之後添加某些行爲,而不會覆蓋該函數的舊行爲。在JavaScript中爲函數添加行爲?
下面是一些簡單的代碼(注意window.onmousedown功能
var createMenu = function(){
var menu = document.createElement('ul');
/* add things to the menu */
window.onmousedown = function(e){
menu.style.background = "red";
}
}
var createSidebar = function(){
var sidebar = document.createElement('div');
/* add things to the sidebar */
window.onmousedown = function(e){
sidebar.id = "clicked";
}
}
var createMenu();
var createSidebar();
在這種情況下,window.onmousedown不會做兩件事,它的意思做的事情 - 它在createSidebar定義將是否有一種標準的方式來實現windows.onmousedown將保留兩種行爲的行爲?
是,不要使用直列事件*。請參閱'addEventListener'和(對於IE)'attachEvent',或者,更容易.. jQuery [或您選擇的框架] :) – 2012-07-13 22:13:16