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

时间:2015-08-07 06:26:56

标签: javascript jquery function firefox firefox-addon

我在页面上为我的插件添加了一个上下文菜单项。点击这个上下文菜单项我希望我的预定义功能之一被执行,但我无法找到适合它的方法

这是上下文菜单的代码

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()函数?

1 个答案:

答案 0 :(得分:1)

这对你有用。从我的扩展名修改,返回点击节点上的信息。

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);
    }
});