1

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

现在,我尝试添加这个 javascript,但它没有触发 - 相反,我收到一条错误消息,“listbox is undefined”

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>

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

4

1 回答 1

1

您需要定义一个名为listbox...

var listbox

...然后您需要为其分配对 DOM 元素的引用...

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

...例如。

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

于 2013-02-28T04:24:24.393 回答