1

私のFirefoxアドオンには<listbox>. ボックス内の項目を左クリックしたときに JavaScript 関数を実行できるようにしたいと考えています。この関数は、アイテムのテキスト値を取得する必要があります。

ここで、この JavaScript を追加しようとしましたが、起動しません。むしろ、「リストボックスが未定義です」というエラーが表示されます。

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>

現在、listboxxul には 2 つの要素があります。機能を付けるにはどうすればよいですか?

4

1 に答える 1

1

listbox...という名前の変数を定義する必要があります

var listbox

...そして、DOM要素への参照を割り当てる必要があります...

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

...例えば。

一部のブラウザーがオブジェクトidに属性を追加することに依存しないでください。window

于 2013-02-28T04:24:24.393 に答える