2012-07-31 67 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