【发布时间】:2016-10-02 06:43:37
【问题描述】:
我正在尝试使用 Dojo (1.3) 复选框使列显示/隐藏在显示在复选框下方的 Dojo 网格中。我让该功能正常工作,但我想更好地组织我的复选框。所以我试着把它们放在桌子上。我的 dojo.addOnLoad 函数如下所示:
dojo.addOnLoad(function(){
var checkBoxes = [];
var container = dojo.byId('checkBoxContainer');
var table = dojo.doc.createElement("table");
var row1= dojo.doc.createElement("tr");
var row2= dojo.doc.createElement("tr");
var row3= dojo.doc.createElement("tr");
dojo.forEach(grid.layout.cells, function(cell, index){
//Add a new "td" element to one of the three rows
});
dojo.place(addRow, table);
dojo.place(removeRow, table);
dojo.place(findReplaceRow, table);
dojo.place(table, container);
});
令人沮丧的是:
- 使用 Dojo 调试器,我可以看到正在为表格正确生成 HTML。
- 我可以使用该 HTML 并将表格放入一个空的 HTML 文件中,它可以很好地呈现表格中的复选框。
- 页面在 Firefox 中正确呈现,只是在 IE6 中不正确。
正在生成的 HTML 如下所示:
<div id="checkBoxContainer">
<table>
<tr>
<td>
<div class="dijitReset dijitInline dijitCheckBox"
role="presentation" widgetid="dijit_form_CheckBox_0"
wairole="presentation">
<input class="dijitReset dijitCheckBoxInput"
id="dijit_form_CheckBox_0"
tabindex="0" type="checkbox"
name="" dojoattachevent=
"onmouseover:_onMouse,onmouseout:_onMouse,onclick:_onClick"
dojoattachpoint="focusNode" unselectable="on"
aria-pressed="false"/>
</div>
<label for="dijit_form_CheckBox_0">
Column 1
</label>
</td>
<td>
<div class="dijitReset dijitInline dijitCheckBox"
role="presentation" widgetid="dijit_form_CheckBox_1"
wairole="presentation">
<input class="dijitReset dijitCheckBoxInput"
id="dijit_form_CheckBox_1"
tabindex="0" type="checkbox"
name="" dojoattachevent=
"onmouseover:_onMouse,onmouseout:_onMouse,onclick:_onClick"
dojoattachpoint="focusNode" unselectable="on"
aria-pressed="false"/>
</div>
</td>
</tr>
<tr>
...
</tr>
</table>
</div>
我本来会在 DOJO 官方论坛上发帖的,但上面说它们已被弃用,现在他们正在使用邮件列表。他们说如果邮件列表不适合您,请使用 StackOverflow.com。所以,我来了!
【问题讨论】:
-
仅供参考,邮件列表在这里:mail.dojotoolkit.org/mailman/listinfo/dojo-interest,如果您愿意,可以使用 Nabble 或 Gmane 通过 Web 界面访问它。不过我觉得在这里问也不错。
标签: firefox dojo html-table internet-explorer-6