IE中的Dojo树崩溃/扩展错误(9)

时间:2012-12-11 10:14:07

标签: internet-explorer tree dojo

我有一个带复选框的dojo树,它在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中它没有到达该事件并在此之前抛出错误。

任何人都知道为什么会这样,有什么办法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

经过一些aditional搜索后发现IE不支持在标签内设置innerHTML。所有的问题都是这个树在dojo.DropDownMenu里面(这是表),所以我把它改成了dojo.ContentPane,现在一切正常。