[英]Get GoogleDocs Selection from DIV and replace it (JAVASCRIPT, XUL)
[英]XUL Richlistbox selection issue
我的firefox扩展上有一个richlistbox,如下所示:
<richlistbox id="accList" class="accList" seltype="single" flex="1">
<richlistitem id ="accListTemplate" hidden="true">
<listcell class="sessionActivate"/>
<listcell class="nameItem"/>
<listcell class="lastUsedItem"/>
<spacer flex="1" />
<listcell class="sessionDelete" />
<listcell class="sessionComplete" />
<listcell class="sessionDetails" />
</richlistitem>
</richlistbox>
通过Javascript我克隆这个richlistitem并将其添加到我想要的值的richlistbox。
结果是:
所有项目似乎都被选中,我无法更改该选择。
另一个奇怪的事情是,如果我点击其中一行并执行:
alert(document.getElementById("accList").selectedCount);
它说0。
我错过了什么吗?
隐藏与否,列表会自动选择第一个项目 - 当您克隆它时,您也会获得“选定”状态。 最简单的解决方案:只是不要将您的模板放在<richlistbox>
标签内,将其放在外面的某个地方。
由于您克隆列表中第一项的方式,您将从该项目中获得一些您不期望的额外属性。 像这样的列表中的第一项继承了这些属性。
在克隆代码中,在将项目追加到列表中之前,请删除selected
属性和current
属性。
例:
var newtemplate = document.getElementById("accListTemplate").cloneNode(true);
newtemplate.removeAttribute("hidden");
newtemplate.removeAttribute("id");
newtemplate.removeAttribute("current");
newtemplate.removeAttribute("selected");
// do your content manipulation
document.getElementById("accList").appendChild(newtemplate);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.