ユーザーがTabキーまたはSpaceキーを押すと、新しい入力フィールドがdiv要素に追加されます。innerHTMLを追加すると、最初の要素のギャップが作成されます
次は、入力フィールドを保持するために使用されるdiv要素の抜粋です:
<div class="container" id="container" onkeydown="KeyDown(event)">
<input type="text" maxlength="15" id="0"/>
</div>
は次のように私は入力フィールドを追加するために使用していますJavaScriptコードです:
function KeyDown(e) {
var container = document.getElementById("container");
if(e.which === 9 || e.which === 32) { //User pressed Tab or Space
container.innerHTML += "<input type='text' maxlength='15' id='0'/>";
}
}
これは動作します最初のテキスト入力フィールドと2番目のテキスト入力フィールドの間に8pxのマージン/ギャップ(デフォルトCSSより4px多く)があります。 Chromeのすべての入力フィールドでページのCSSとHTMLが同一であっても、最初の入力フィールドのみが4ピクセル余分に余白があります。
問題は、以下のJavaScriptを使用して、コンテナのinnerHTMLのを交換することにより固定されている:HTMLで初期入力フィールドを追加しながら
if(c === 1) { //c is the number/count of input elements
container.innerHTML = "<input type='text' maxlength='15' id='0'/>";
}
...
c++;
なぜこれがinnerHTMLプロパティし、それらを置き換える対、発生しました各入力フィールドを増分しますか?
感謝を。私は正直なところ、数値がIDだけでは使用されないということは知らなかった。特定のプロジェクトだけで数値を使用する前に、あなたが指摘した良いことだ。 – AquaGeneral