我有一个ff扩展名,它创建一个弹出窗口并在其中显示动态数据。基本上,当弹出窗口打开时,将运行一个js函数,该函数随后通过添加像这样的项目来构造弹出列表

var myMenuPopup = document.getElementById("file-popup4");
newItem = document.createElement("menuitem");
newItem.setAttribute("label", namelist[m]);
newItem.setAttribute("id", "item" + m);


现在,我还需要在这些新添加的菜单项上具有单击功能。放置属性和形成功能很容易。单击它们时,我可以运行一个功能。但是我需要将namelist [i]传递给函数,它将根据namelist参数起作用。如果我这样做:

newItem.setAttribute("oncommand" , finalclick(namelist[m]));


它会在每次打开弹出窗口时运行该函数,甚至无需单击该函数

另一方面,如果我使用引号i.i(如果我这样做)

newItem.setAttribute("oncommand" , "finalclick(namelist[m])");


即使单击给出错误,它也不会打开:未定义名称列表。

最佳答案

newItem.setAttribute("oncommand" , "finalclick(\"" + namelist[m] + "\")");

10-04 19:40