【发布时间】:2009-08-21 18:47:24
【问题描述】:
情况:
我在另一个 div 容器内有一个复选框和一个 div 容器。单击复选框或复选框的标签时,内部 div 的显示样式应更改。如果显示设置为阻止,则应更改为无,反之亦然。
代码:
HTML:
<input id="oper_sale" type="checkbox" name="oper_sale" onchange="show_hide_operation(this, 'sale_block');">
<label for="oper_sale" class="public">Venta:</label>
<div id="sale_block" name="sale_block" style="display: none;">
AAAAAAA
</div>
Javascript:
// Show or hide parts of a form
function show_hide_operation (oper_choice, oper_block_id) {
var oper_block = document.getElementById(oper_block_id);
if (oper_choice.checked == true)
oper_block.style.display = "block";
else
oper_block.style.display = "none";
}
问题:
这在 Firefox 中运行良好,但在 IE 中却不行。当我单击复选框或其标签时,没有任何反应。但是,如果我在单击复选框或其标签后单击屏幕上的其他任何位置,则更改会毫无问题地发生。单击后我尝试模糊复选框,但没有帮助。
简而言之:
在用户点击屏幕的不同部分而不是调用 java 脚本更改样式之前,IE 不会呈现显示样式的更改
非常欢迎任何帮助
【问题讨论】:
-
+1 在解释问题方面做得如此出色。要是所有问题都这么详细就好了。
标签: javascript dynamic coding-style