私のFirefoxアドオンには<listbox>
. ボックス内の項目を左クリックしたときに JavaScript 関数を実行できるようにしたいと考えています。この関数は、アイテムのテキスト値を取得する必要があります。
これで、イベント リスナーの onLoad 呼び出しにこれを配置したため、をクリックすると関数が呼び出されます。listitem
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
作業しました。
リストセルの値を取得するにはどうすればよいですか? 私はすべてを試しました!