我正在寫一個JavaScript應該附加上下文菜單到文檔中的元素。上下文菜單的jquery插件需要上下文菜單和選項對象的ID。選項對象有一個名爲綁定的屬性,該屬性應該有鍵/值對,其中鍵是菜單項的ID,該值是在單擊時調用的函數。如何使用JavaScript中的括號表示將函數附加到對象?
問題是,我試圖填充的綁定對象在使用括號概念時沒有將函數作爲值附加,並且我需要它,因爲菜單項的ID無法事先確定。
var bindings = {};
var bindingsFunction = function(t){
alert('Trigger was ' + t.id + '\nAction was Open');
};
var $listItems = $contextMenu.find('li');
$listItems.each(function(index, item){
var key = '' + item.id;
bindings[key] = bindingsFunction;
});
console.log('bindings is empty', bindings);
var result = $icon.contextMenu(contextMenuId, {
bindings: bindings
});
是的,我從腳本中刪除的console.log確實顯示了id,也綁定了[id] = id工作。 – Azder 2011-02-03 11:56:35
空字符串是一個完全有效的屬性名稱,它只是不能用點符號訪問。 – 2011-02-03 13:50:27