状況でそれを変更した後の要素の表示の変化をレンダリングしない:IEのJavaScript
私は、チェックボックスと別のdivコンテナ内のdivコンテナを持っています。チェックボックスまたはチェックボックスのラベルをクリックすると、内部divの表示スタイルが変更されます。ディスプレイがブロックに設定されている場合は、noneに変更し、その逆に変更する必要があります。
コード:
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この問題を説明するのにうまくやっています。すべての質問だけがとても詳細であれば。 – Marc
ありがとう – VinkoCM