こんにちは、XULのlistboxコントロールについて教えて欲しいことがあります。
イメージとしてはリストボックスの各行にチェックボックスが付いているもので、単純に実現しようとすれば
コード:
<listbox>
<listitem type="checkbox" label="AAA"/>
<listitem type="checkbox" label="BBB"/>
</listbox>
のような形で済みますが、これだと行をクリックした時点でチェック状態も必ず反転しまいます。
そうではなくて、ラベル部分をクリックしただけではチェック状態は変わらずチェックボックスをクリックした時にだけチェック状態が変わるように、行選択とチェックボックスの動作を別々に行いたいと思ったら、どうするのが良いでしょうか?
とりあえず試しにチェックボックス部分とラベル部分を別の列に分割して
コード:
<listbox>
<listcols><listcol/><listcol/></listcols>
<listitem><listcell type="checkbox"/><listcell label="AAA"/></listitem>
<listitem><listcell type="checkbox" checked="true"/><listcell label="BBB"/></listitem>
</listbox>
のようにしてみたのですが、これだと選択操作でチェック状態は変わらないものの、チェックボックス部分をクリックしてもチェック状態が変更できなくなってしまいました。
またチェックボックスをlistcellのtype属性ではなくlistcellの子要素としてcheckboxを入れてみたのですがダメでした。
listitemのoncommandに関数を設定してみても実行されず、どうもlistitem自体のクリックイベントが取れなくなってしまっているように見えるのですが何か間違っているでしょうか?
よろしくお願いします。