将功能附加到左键单击<listbox>项目</listbox>

时间:2013-02-28 04:21:00

标签: javascript firefox-addon

在我的firefox插件中,我有一个<listbox>。当我左键单击框中的项目时,我希望能够使用javascript函数。该函数应检索项目的文本值。

现在,我已尝试添加此javascript,但它并没有触发 - 而是,我收到错误消息,&#34; listbox未定义&#34;

listbox.addEventListener("click", function(event){
    var target = event.target;
    while (target && target.localName != "listitem")
    target = target.parentNode;
    if (!target)
        return;   // Event target isn't a list item
alert(target.getAttribute("value"));
}, false);

xul是这样的:

<listbox id="listbox1">
    <listcols /><listcol flex="1"/><listcol flex="1"/></listcols>
    <listitem><listcell class="column1" label="label1" value="value1"</listcell><listcell label="cell1"></listcell></listitem>
    <listitem><listcell class="column2" label="label2" value="value2"</listcell></listitem><listcell label="cell2"></listcell>
</listbox>

现在,我的xul中有两个listbox个元素。如何附加功能?

1 个答案:

答案 0 :(得分:1)

您需要定义名为listbox ...

的变量
var listbox

...然后你需要为它分配一个DOM元素的引用......

var listbox = document.getElementById("listbox");

......例如。

不要依赖某些浏览器向id对象添加window属性。