在Firefox插件中创建a plain old ActionButton
时,似乎无法在创建后覆盖onClick
属性。不管怎么说
var handleClick = function() {
tabs.open('https://www.mozilla.org/');
};
var button = new ActionButton({
id: 'my-link',
label: 'label me',
icon: {
'16': './icon-16.png',
'32': './icon-32.png',
'64': './icon-64.png'
},
onClick: handleClick
});
button.onClick = function() {
tabs.open('https://www.github.com/');
};
使用
mozilla.org
(而不是github.com
)打开标签。创建按钮后如何适应
onClick
? 最佳答案
API Docs建议使用on
,这是添加事件侦听器的常见模式。
button.on('click', handleClick);
尽管这会添加另一个点击处理程序,但不能替换原始处理程序。挂起对处理程序的引用(例如
handleClick
),然后使用button.removeListener(handleClick)
删除旧的引用。