我正在寻找可以在更改标签之前触发的事件? 我已经看过this post,我也查看了firefox扩展中的tabSelect事件,但我找不到任何可以在标签更改之前触发的事件。
答案 0 :(得分:2)
不幸的是没有这样的事件。
但是,您可以使用MutationObserver来查看所选标签type
元素browser
元素的gBrowser.mCurrentBrowser
属性。当它从content-primary
更改为content-targetable
时,它表示标签切换正在进行中。
答案 1 :(得分:1)
正如paa已经指出的那样,在选择选项卡之前不会发生任何事件。您可以使用的是技巧,例如Object.watch()
method(是的,使用它并不是完全推荐的)。它允许您监听gBrowser.tabContainer.selectedIndex
属性的更改(此属性的setter是触发select
事件的位置):
gBrowser.tabContainer.watch("selectedIndex", function(prop, oldval, newval)
{
// New tab being selected, do something here!
return newval;
});
这种方法的优点是:通过从处理程序返回oldval
,您可以阻止选择发生。