我有一个带有复选框的道场树,它在 FF 和 Chrome 中运行良好,但在 IE(9) 中却不行。在大多数 IE 案例中,我可以找到一些解决方法,但这只是很奇怪。每当我尝试折叠或展开树节点时都会发生这种情况,无论它是通过用户输入 - 按下 +/- 展开按钮还是以编程方式 - 调用 TREE._collapseNode(NODE);
这是树的创建方式:
this._tocTreeControl = new dijit.Tree({
model: this._treeModel,
showRoot: false,
autoExpand: true,
branchIcons: false,
nodeIcons: false,
"class": "IdentifyFilterTreeRoot",
_createTreeNode: function (args) {
var tnode = new dijit._TreeNode(args);
dojo.attr(tnode.labelNode, "innerHTML", args.label);
return tnode;
}
});
它在 dojo 文件“dojo/dijit/tree.js”中引发错误
this.expandoNodeText.innerHTML=_2e[idx];
或者在未压缩的版本中,我相信是
this.expandoNodeText.innerHTML = _a11yStates[idx];
this.expandoNodeText.innerHTML 是“-”或“+”,_2e 是数组 [*,-,+,*],idx 是 1 或 2。看起来像正常操作的东西在 IE(9) 中抛出错误“无效的目标元素对于这个操作。”。我正在考虑选择捕获方法“_onExpandoClick”并手动隐藏/显示节点,但在 IE 中它没有到达该事件并在此之前引发错误。
任何人都知道为什么会发生这种情况,有什么办法可以解决这个问题?