我有一个使用 Ext-JS 2.2 的 Web 应用程序。在某个组件中,我们有一个空的工具栏,我们试图添加一个按钮来使用
myPanel.getTopToolbar().insertButton(0, [...array of buttons...]);
但是,在 IE6/7 中,由于 ext-all-debug.js 中的第 20241-20242 行,此操作失败:
var td = document.createElement("td");
this.tr.insertBefore(td, this.tr.childNodes[index]);
由于“this.tr.childNodes([0])”在 IE 中尚不存在,因此失败并显示“无效参数”。
真正的问题: 我可以使用类似于下面的 CSS 向每个工具栏添加一个子项
div.x-toolbar tr:after { content: " "; }
我完全意识到这是一个 hack,但出于法律原因,我不能更改任何 Javascript,甚至不能向每个工具栏添加一个空按钮 ({})。非常感谢任何能解决这个问题的人。
最佳答案
我过去必须做的是在我的元素配置中包含一个空的工具栏:
tbar:[]
然后(并且仅在元素完全呈现后)使用 .add() 方法注入(inject)按钮。
事件的顺序将让你每次都能得到。需要一段时间才能掌握它。
关于javascript - 需要一个 ExtJS 错误解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/315678/