我试图在插入节点后获得焦点:
<p>Insert new content</p>
var footnoteForm = $(`
<form class="article-footnote-form footnote-form" style="margin-top:10px">
<div class="form-group row">
<div class="col-md-9">
<textarea class="form-control" name="footnote" rows="3" autofocus></textarea>
</div>
<div class="col-md-3">
<button class="btn btn-primary" id="articleFootnoteBtn">Add Annotation</button>
</div>
</div>
</form>`);
//insert after
$("p").after(footnoteForm);
当我在控制台上进行测试以获取焦点时,光标不会出现在textarea中:
$("textarea :first").focus()
jQuery.fn.init [textarea.form-control, prevObject: jQuery.fn.init(1)]
答案 0 :(得分:1)
选择器中需要$('textarea:first').focus()
没有空格。 textarea :first
的意思是textarea *:first
-选择文本区域内的第一个嵌套元素。
var footnoteForm = $(`
<form class="article-footnote-form footnote-form" style="margin-top:10px">
<div class="form-group row">
<div class="col-md-9">
<textarea class="form-control" name="footnote" rows="3" autofocus></textarea>
</div>
<div class="col-md-3">
<button class="btn btn-primary" id="articleFootnoteBtn">Add Annotation</button>
</div>
</div>
</form>`);
//insert after
$("p").after(footnoteForm);
$('textarea:first').focus()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Insert new content</p>