1

チェックボックスを備えた道場ツリーがあり、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 ではそのイベントに到達せず、その前にエラーがスローされます。

なぜそれが起こっているのか誰でも知っていますか?これに対する回避策は何ですか?

4

1 に答える 1

0

いくつかの追加の検索の後、IE はタグ内の innerHTML の設定をサポートしていないことがわかりました。すべての問題は、このツリーが dojo.DropDownMenu (テーブル) 内にあったため、それを dojo.ContentPane に変更しただけで、すべて機能するようになりました。

于 2013-02-27T00:48:43.907 に答える