javascript - 需要一个 ExtJS 错误解决方法

标签 javascript css extjs

我有一个使用 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 向每个工具栏添加一个子项 以便找到 this.tr.childNodes[0] 吗:

div.x-toolbar tr:after { content: " "; }

我完全意识到这是一个 hack,但出于法律原因,我不能更改任何 Javascript,甚至不能向每个工具栏添加一个空按钮 ({})。非常感谢任何能解决这个问题的人。

最佳答案

我过去必须做的是在我的元素配置中包含一个空的工具栏:

tbar:[]

然后(并且仅在元素完全呈现后)使用 .add() 方法注入(inject)按钮。

事件的顺序将让你每次都能得到。需要一段时间才能掌握它。

关于javascript - 需要一个 ExtJS 错误解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/315678/

相关文章:

javascript - 正则表达式替换重复模式

javascript - 从 QT 中的 QML 中的 JS 返回值失败

javascript - 访问 iframe 中的 facebook 页面被拒绝

css - 使用内联样式有哪些风险?

javascript - 如何在Extjs4中使用负载监听器

javascript - Webback list 文件未编译为 es5

javascript - 为什么我的 ng-class 会忽略动画?

html - 将 Bootstrap 列放在下面

javascript - 需要 extjs 3.4 的树过滤器的简单工作示例

javascript - Ext JS - 专注于文本字段不适用于 IE 中的渲染监听器