我想在單擊時附加一個輸入欄位,并將其聚焦,使其具有閃爍的游標并且可以直接輸入。使用以下代碼,我可以附加它,但我不專注。我首先需要單擊該欄位,然后我可以輸入。
如何追加和聚焦?
我已經嘗試過以下線路,但它沒有做任何事情
$('.fields').append(field_html).focus();
HTML:
<div class="fields">
<!-- append here -->
</div>
<div class="row">
<input name="input" class="input">
</div>
<button>Add</button>
JS:
$('button').on('click', function(e){
var field_html = $('.row').html();
$('.fields').append(field_html);
});
CSS:
.input{
padding: 10px 10px;
border: 1px solid blue;
width: 300px;
margin-bottom: 10px;
}
.row {
display: none;
}
JSFiddle: https ://jsfiddle.net/sLob7cwh/
uj5u.com熱心網友回復:
$('button').on('click', function(e){
var field_html = $('.row').html();
$('.fields').append(field_html).find('input:last').focus();
});
.input{
padding: 10px 10px;
border: 1px solid blue;
width: 300px;
margin-bottom: 10px;
}
.row {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="fields">
<!-- append here -->
</div>
<div class="row">
<input name="input" class="input">
</div>
<button>Add</button>
此代碼有效,并將焦點添加到最新添加的輸入
$('button').on('click', function(e){
var field_html = $('.row').html();
$('.fields').append(field_html).find('input:last').focus();
});
小提琴
uj5u.com熱心網友回復:
JQuery 方法通常鏈接集合,在.append它通過原始集合的情況下。
相反,您可以使用.appendTowhich 通過新的 html (因為它是原始集合)
改變
var container = $("container").append("new_html");
到
var newElements = $("new_html").appendTo("container");
然后,您可以繼續使用該結果,因此您的代碼變為:
$('button').on('click', function(e){
var field_html = $('.row').html();
$(field_html).appendTo(".fields").find("input.input").focus();
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/407055.html
標籤:
