Firefox扩展按钮侦听

问题描述:

在我的分机在overlay.js中包括下列事件:Firefox扩展按钮侦听

var sto = 
{ 
    onLoad: function() {...}, 
    onMenuItemCommand: function(e) {...}, 
    onToolbarButtonCommand: function(e) {...}, 
}; 

window.addEventListener("load", function() { sto.onLoad(); }, false); 

我需要一个监听发射每次按钮被点击的页面加载时间。我怎样才能做到这一点?

我找到了解决方案 - 很简单。确定这里是源:

https://developer.mozilla.org/en/Code_snippets/Interaction_between_privileged_and_non-privileged_pages

和修改后的代码:

var sto = 
{ 
    onLoad: function() {...}, 
    onMenuItemCommand: function(e) {...}, 
    onMouseClick: function(e) {...}, 
    onToolbarButtonCommand: function(e) {...}, 
}; 

window.addEventListener("load", function() { sto.onLoad(); }, false); 
document.addEventListener("click", function(e) { sto.onMouseClick(e); }, false, true); 

嗯,我不知道这是ü想要什么但你可以尝试做对整篇文档的事件委托:

var document_mouseup_lst = EventListener.createEventListener(); 
doc.addEventListener("mouseup", document_mouseup_lst, false); 
document_mouseup_lst.addEvent("mouseup", function click(e, callback, object){ 
    var element = e.target; 

    if(element.tagName.toLowerCase() === 'button') { 
     if (e.which == 1) { // left click 
      // do whatever u want 
     } else if (e.which == 2) { // middle click 
      // do whatever u want 
     } 
    } 

return false; 
}); 

顺便说一句,以创建事件侦听(这得到了该事件监听对象createEventlistener方法)我用这个页面Ajaxian >> An alternative way to addEventListener

+0

我不得不承认,我不太理解这个代码,我会在哪里插入呢?例如,在扩展代码中没有事件:“onMouseClick:function(){...}”,在这种情况下,我会放置我的功能,就是这样。是否有我可以在扩展中使用的事件列表。找不到任何。 – user366121 2011-03-04 08:26:40