IE在使用javascript更改元素显示后不呈现元素显示更改

IE在使用javascript更改元素显示后不呈现元素显示更改,javascript,dynamic,coding-style,Javascript,Dynamic,Coding Style,情况: 我在另一个div容器中有一个复选框和一个div容器。单击复选框或复选框的标签时,内部div的显示样式应该更改。如果显示设置为“块”,则应更改为“无”,反之亦然 代码: HTML: 问题: 这在Firefox中很好,但在IE中却不行。当我点击复选框或其标签时,什么都没有发生。但是,如果在单击复选框或其标签后单击屏幕上的任何其他位置,则更改不会出现问题。我尝试在单击复选框后使其模糊,但没有帮助 简言之: IE不会呈现显示样式的更改,直到用户单击屏幕上与java脚本不同的部分来更改样式 非常欢

情况:

我在另一个div容器中有一个复选框和一个div容器。单击复选框或复选框的标签时,内部div的显示样式应该更改。如果显示设置为“块”,则应更改为“无”,反之亦然

代码:

HTML:

问题:

这在Firefox中很好,但在IE中却不行。当我点击复选框或其标签时,什么都没有发生。但是,如果在单击复选框或其标签后单击屏幕上的任何其他位置,则更改不会出现问题。我尝试在单击复选框后使其模糊,但没有帮助

简言之:

IE不会呈现显示样式的更改,直到用户单击屏幕上与java脚本不同的部分来更改样式


非常欢迎任何帮助

IE不会触发。一旦更改复选框直到失去焦点,您可能需要在此处使用.onclick事件。

IE不会触发。一旦更改复选框直到失去焦点,您可能需要在此处使用.onclick事件。

使用onclick事件,IE中的更改事件在元素失去焦点后执行


选中。

使用onclick事件,IE中的更改事件在元素失去焦点后执行

检查。

在IE中,当焦点离开控件时,onchange事件显然会发生,就像type=text的输入一样

改用onclick事件。

在IE中,当焦点离开控件时,onchange事件显然会发生,就像type=text的输入一样


请改用onclick事件。

+1,感谢您出色地解释了这个问题。要是所有的问题都这么详细就好了。+1感谢你这么好地解释了这个问题。要是所有的问题都这么详细就好了。
<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>
// 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";
}