2010-12-23 108 views
0

我一直在使用Javascript和JSON對象開發我的web。我需要動態更改JavaScript對象的內容,但這些都是函數。動態修改javascript對象

例子:

var menu1 = [{ 
    'Activate': function(menuItem,menu) { 
     $(this).onSelectStart = "return false"; 
     var layerclicked = treetag.tree('find',$(this).parent().attr('node-id')); 
     if(layerclicked.checked) 
     treetag.tree('uncheck',layerclicked.target); 
     else 
     treetag.tree('check',layerclicked.target); 
    } 
}]; 

當用戶單擊一個選項,我想從「激活」到「停用」更改名稱的功能。

可以嗎?我怎麼辦?

在此先感謝! :)

+0

我想弄清楚一些事情,JSON的意思是作爲一種數據交換格式,你使用的是JavaScript中的對象文字而不一定是JSON。 – 2010-12-23 18:14:41

+0

感謝信息Quintin!我正在提高自己的技能培養,我需要學習很多:P – 2010-12-23 18:18:42

回答

1

你試過:

menu1[0].Deactivate = menu1[0].Activate; 
menu1[0].Activate = undefined; 

什麼是改變函數的名稱的目的是什麼?將「Activate」指向哪個功能會更有意義嗎?

2

在我看來,你會從將你的「Activate」方法重命名爲「Toggle」而不是完全重命名該函數(看起來是爲了語義的目的)而獲益。重命名你的函數在我看來似乎是hack-y ...這是插件所需要的嗎?知道它是什麼插件會很有幫助。