单击 Firefox 工具栏按钮中的坐标
Posted
技术标签:
【中文标题】单击 Firefox 工具栏按钮中的坐标【英文标题】:Click coordinates in Firefox toolbar button 【发布时间】:2012-07-31 09:22:28 【问题描述】:我想从我的 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>
单击工具栏图标时会显示一个弹出窗口。我想在单击工具栏图标的位置显示弹出窗口。
【问题讨论】:
【参考方案1】:command
事件不是鼠标事件,它可以通过不同的方式触发(鼠标和键盘是最常见的方式),因此您无法在此处获取鼠标位置。您可以为click
事件定义一个处理程序,记住event.screenX
/event.screenY
并在您的command
事件处理程序中使用它们,然后如果它们可用。但最好将popup
attribute 添加到您的按钮并让系统处理它。或者直接使用<toolbarbutton type="menu">
。
【讨论】:
谢谢 :) 我采用了第一种方法。那就是为工具栏按钮定义一个单击处理程序并将坐标存储在那里。它似乎正在工作。但是,点击事件总是在命令事件触发之前出现吗? @quad_damage: 如果command
事件被鼠标触发 - 是的。以上是关于单击 Firefox 工具栏按钮中的坐标的主要内容,如果未能解决你的问题,请参考以下文章