我有一个问题,一旦我的页面被渲染,焦点没有被设置在动态创建的表/输入的第一个输入元素上。
在 .jsp 我有以下内容:
<script type="text/javascript">
$(document).ready(function(){
if(_page != "one") {
buildTable(shipQty);
$('#shipItems[0].barCode').focus();
}
</script>
有一个包含的 .js,其中包含 buildTable 函数
function buildTable(shipQty)
{
var _tbl = $('<table>').attr({
id : 'barCodeTable',
border : '1'
});
_tbl.append($('<tr>').append($('<td>').text('Box BarCode'),$('<td>').text('INBOUND Tracking Number')));
for ( var _index = 0; _index < shipQty; _index++)
{
var _inputBarCode = $('<input>').attr({
class : 'form-med',
type : 'text',
name : 'shipItems[' + _index + '].barCode',
id : 'shipItems[' + _index + '].barCode',
maxlength: '8'
}).change(_barCodeChange);
var _shippingTrackingCode = $('<input>').attr({
class : 'form-med',
type : 'text',
name : 'shipItems[' + _index + '].shipCompanyBarCode',
id : 'shipItems[' + _index + '].shipCompanyBarCode'
}).change(_trackingNumberChange);
_tbl.append($('<tr>').append($('<td>').append(_inputBarCode)).append($('<td>').append(_shippingTrackingCode)));
}
$('#tableWrap').append(_tbl);
}
我在stackoverflow上查看了几种不同的解决方案here、here、here和其他解决方案,但无济于事。
我不明白这里的问题。