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