Firefox扩展按钮侦听
问题描述:
在我的分机在overlay.js中包括下列事件:Firefox扩展按钮侦听
var sto =
{
onLoad: function() {...},
onMenuItemCommand: function(e) {...},
onToolbarButtonCommand: function(e) {...},
};
window.addEventListener("load", function() { sto.onLoad(); }, false);
我需要一个监听发射每次按钮被点击的页面加载时间。我怎样才能做到这一点?
答
我找到了解决方案 - 很简单。确定这里是源:
和修改后的代码:
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
我不得不承认,我不太理解这个代码,我会在哪里插入呢?例如,在扩展代码中没有事件:“onMouseClick:function(){...}”,在这种情况下,我会放置我的功能,就是这样。是否有我可以在扩展中使用的事件列表。找不到任何。 – user366121 2011-03-04 08:26:40