在 Firefox-Addon ActionButton 上覆盖 `onClick`
Overriding `onClick` on a Firefox-Addon ActionButton
在 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 suggest using on
这是添加事件侦听器的常用模式。
button.on('click', handleClick);
尽管这将添加 另一个 点击处理程序,而不是 替换 原始处理程序。保留对处理程序的引用(例如 handleClick
)并使用 button.removeListener(handleClick)
删除旧的。
最简单的事情可能不是替换处理程序而是替换它的数据:
var url = 'https://www.mozilla.org/';
var handleClick = function() {
tabs.open(url);
};
// ...
url = 'https://www.github.com/';
在 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 suggest using on
这是添加事件侦听器的常用模式。
button.on('click', handleClick);
尽管这将添加 另一个 点击处理程序,而不是 替换 原始处理程序。保留对处理程序的引用(例如 handleClick
)并使用 button.removeListener(handleClick)
删除旧的。
最简单的事情可能不是替换处理程序而是替换它的数据:
var url = 'https://www.mozilla.org/';
var handleClick = function() {
tabs.open(url);
};
// ...
url = 'https://www.github.com/';