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

Vin*_*oCM 1 javascript coding-style dynamic

情况:

我有一个复选框和另一个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>
Run Code Online (Sandbox Code Playgroud)

使用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";
}
Run Code Online (Sandbox Code Playgroud)

问题:

这在Firefox中运行良好,但在IE中却没有.当我单击复选框或其标签时,没有任何反应.但是,如果我在单击复选框或其标签后单击屏幕上的任何其他位置,则更改会顺利发生.我点击它后点击复选框但它没有帮助.

简而言之:

在用户单击屏幕的不同部分之前,IE不会呈现显示样式的更改,而不是调用java脚本来更改样式

非常欢迎任何帮助

Mar*_*arc 5

IE不会激活.onchange复选框,直到它失去焦点,你可能想在这里使用.onclick事件.