FF расширение. как передать параметры функции в атрибуте oncommand в меню - PullRequest
1 голос
/ 29 апреля 2010

У меня есть расширение 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]));

запускает функцию каждый раз, когда открывается всплывающее окно, запускает функцию, даже не нажимая на нее

с другой стороны, если я использую кавычки, т.е. если я делаю

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

не открывается даже при нажатии, что приводит к ошибке: список имен не определен.

1 Ответ

0 голосов
/ 29 апреля 2010
newItem.setAttribute("oncommand" , "finalclick(\"" + namelist[m] + "\")");
...