我正在尝试编写一个简单的扩展,它将获取您右键单击的链接,重新格式化 url 并在外部应用程序中启动它。除了一个异常(exception),我所有的部分都在工作。
我正在使用“popupshowing”监听器来推断被右键单击的元素是否是链接,并分别在上下文菜单中显示或隐藏“启动”命令。我的覆盖代码如下所示:
<menupopup id="contentAreaContextMenu">
<menuitem id="LinkOpener" label="LAUNCH" oncommand="LaunchIt(document.popupNode);" />
</menupopup>
工作起来很有魅力,但根据文档,document.popupNode 正在逐步淘汰,我应该改用 menupopup 的 triggerNode。但是,我不能再简单地将它传递到内联“oncommand”处理程序中。
最好的方法是什么?我现在唯一能想到的是转到处理“popupshowing”事件的函数,删除具有先前元素引用的旧“命令”监听器并添加一个具有新引用的新监听器,但感觉可能有更好的方法来做到这一点。 任何帮助将不胜感激。 谢谢! 卢卡
最佳答案
已解决:因为 menuitem 是 menupopup 的子项,所以我可以这样做:
<menuitem oncommand="myFunc(this.parentNode.triggerNode);">
关于javascript - 将点击的元素传递给 Firefox 中的上下文菜单操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621977/