有没有办法让listcell中的按钮在XUL中工作?我不确定是什么阻止了它的运行。 XUL看起来像:
<listitem id = "1">
<listcell label = "OK Computer"/>
<listcell label = "Radiohead"/>
<listcell label = "1997"/>
<listcell label = "Platinum"/>
<listcell label = "5/5"/>
<listcell label = "Alternative Rock"/>
<button label = "Edit" oncommand= "alert('Hello World');"/>
<button label = "Delete" oncommand = "deleteItem();"/>
</listitem>
按钮在列表外部工作正常,但是当它在列表中时,我的鼠标指针甚至不能将其识别为按钮(通过更改为手形指针)。有什么想法吗?
答案 0 :(得分:0)
您需要将按钮放在列表单元格中:
<listcell>
<button label="Edit" oncommand="alert('Hello World');"/>
</listcell>
列表单元格可以具有默认内容(如果您只是添加label
属性而没有内容也可以获得)或者您想要的任何内容 - 但对于后者,您实际上必须将内容放入明确显示<listcell>
标记。
编辑:实际上,更重要的问题是<listbox>
相对于其内容受到限制,它主要限于纯文本。这就是为什么开发了更通用的<richlistbox>
小部件的原因。但它不支持表格内容。
答案 1 :(得分:0)
按钮和其他控件元素可以在标准的listitem中使用,不需要使用richlistbox或tree。神奇的技巧是allowevents
属性。您可能还希望将按钮包装在listcell本身中,以便它们获得自己的列。
<listitem id="1" allowevents="true">
<listcell label="OK Computer"/>
<listcell label="Radiohead"/>
<listcell label="1997"/>
<listcell label="Platinum"/>
<listcell label="5/5"/>
<listcell label="Alternative Rock"/>
<listcell>
<button label="Edit" oncommand="alert('Hello World');"/>
<button label="Delete" oncommand="deleteItem();"/>
</listcell>
</listitem>