在我的 Firefox 插件中,我有一个<listbox>
. 当我左键单击框中的项目时,我希望能够使用 javascript 函数。该函数应检索项目的文本值。
现在,当我单击 a 时,我的函数会listitem
被调用,因为我已将它放在事件侦听器的 onLoad 调用中:
var myListBox = document.getElementById("myListBoxID");
myListBox.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); //returns blank
alert(target.id); //returns blank
alert(target.getAttribute("value")); //returns blank
alert(target.getAttribute("text")); //returns blank
alert(target.getAttribute("id")); //returns blank
var targetid = document.getElementById(target.id);
alert(targetid); //returns null
}, 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>
但是,我无法让它显示项目的文本。如您在上面看到的,我似乎没有正确处理target
我从这里得到了原始代码,并在EventListener
这里工作。
如何获取列表单元的值?我什么都试过了!