2012-07-31 87 views
0

我想从我的Firefox扩展中的工具栏图标中获取点击坐标。点击Firefox中的坐标工具栏按钮

我使用的代码如下: //Toolbar code

<?xml version="1.0"?>     
<overlay id="myext-toolbar-Overlay" 
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 

<?xml-stylesheet href="chrome://myext/skin/myextToolbarButton.css" type="text/css"?> 

<script src="chrome://myext/content/myextExtension.js" type="application/x-javascript" /> 

<toolbarpalette id="BrowserToolbarPalette"> 
    <toolbarbutton id="myext-button" class="toolbarbutton-1" 
     label="Button" 
     tooltiptext="Clip Web Page" 
     oncommand="myextExtension.showPopup(event);" > 
    </toolbarbutton> 
</toolbarpalette> 

</overlay> 

在单击工具栏图标会出现一个弹出。我想在点击工具栏图标的位置显示弹出窗口。

回答

0

command事件不是一个鼠标事件,它可以通过不同的方式触发(鼠标和键盘是最常见的),所以你不能在这里获得鼠标位置。您可以为click事件定义一个处理程序,请记住event.screenX/event.screenY,然后在command事件处理程序中使用它们,如果它们可用。但是,将popup attribute添加到您的按钮并让系统处理它可能会更好。或者只是使用<toolbarbutton type="menu">

+0

谢谢:)我采取了第一种方法。这是为工具栏按钮定义一个点击处理程序并在那里存储坐标。它似乎在工作。但是,点击事件是否始终在命令事件触发之前发生? – 2012-07-31 10:49:05

+0

@quad_damage:如果'command'事件是由鼠标触发的 - 是的。 – 2012-07-31 11:11:45