基本的に、一連の 5 行のテキスト ボックス (各行には 3 列が含まれます) と単一のテキスト エリアがあります。入力/テキスト ボックスの次の行。
以下のコードは、row1 col3 から textarea_desc に移動し、textarea_desc をタブ移動すると、フォーカスが row2 col1 に移動しますが、row2 col1 にカーソルが表示されません... css を追加した場合、それは表示されます行2 col1にカーソルがありますが、カーソルがないため、テキストを入力できません。カーソルを表示するには、row2 col1をクリックする必要があります。理由を教えてください。
$('input[type="text"],textarea').on('focusout', function() {
var box_class=$(this).attr("class");
var row_id=$(this).parents('ul').attr('id');
if (box_class.indexOf("col3")>=0) {
$("#textarea_desc").focus();
$("#prev_row").val(row_id);
}
if (box_class.indexOf("textarea_desc")>=0) {
var prev_row=$("#prev_row").val();
var new_row=$("#prev_row").val().match(/\d+/);
new_row="#row"+(parseInt(new_row)+1)+"-col1";
$(new_row).focus();
}
});
html ....
<ul id="row1" class="row">
<li class="col1" >1.</li>
<li class="col2"><input type="text" size="26" class="row1-col1" id="row1-col1" /></li>
<li class="col3"><textarea cols="28" rows="1" class="row1-col2 textareainp" id="row1-col2" ></textarea></li>
<li class="col4"><input type="text" size="10" class="row1-col3 " id="row1-col3" /></li>
</ul><ul id="row2" class="row">
<li class="col1" >2.</li>
<li class="col2"><input type="text" size="26" class="row2-col1" id="row2-col1" /></li>
<li class="col3"><textarea cols="28" rows="1" class="row2-col2 textareainp" id="row2-col2" ></textarea></li>
<li class="col4"><input type="text" size="10" class="row2-col3 " id="row2-col3" /></li>
</ul>
<textarea cols="40" rows="7" class="textarea_desc" id="textarea_desc" ></textarea>
<input type="hidden" id="prev_row" class="prev_row" value="" />