当前位置: 代码迷 >> JavaScript >> 单击上下文菜单时如何调用预定义函数?
  详细解决方案

单击上下文菜单时如何调用预定义函数?

热度:26   发布时间:2023-06-07 11:43:46.0

我已在页面上为附加组件添加了上下文菜单项。 在单击此上下文菜单项时,我希望执行我的预定义功能之一,但无法找出解决方法

这是上下文菜单的代码

var contextMenu = require("sdk/context-menu");
var menuItem = contextMenu.Item({
  label: "Log Selection",
  contentScript: 'self.on("click", onClick);',
});

function onClick(state) {
//This function calls many other functions thus can not be defined locally
            console.log("onClick() called");
}

假设有一个function onClick() ,需要在上下文菜单中单击时调用。 如何调用onClick()函数?

这应该为您工作。 从我的扩展程序修改,该扩展程序返回有关被单击节点的信息。

function unassignUSER(upChange) {
    console.log("onClick() called");
}

var contextMenu = require("sdk/context-menu");
var menuItem = contextMenu.Item({
    label: "Log Selection",
    contentScript: 'self.on("click", function (node) {' +
                 '  var upChange = "data"' +
                 '  self.postMessage(upChange);' +
                 '});',
    onMessage: function (upChange) {
        unassignUSER(upChange);
    }
});
  相关解决方案