用textarea聚焦但光标不可见

时间:2018-07-20 06:16:10

标签: jquery

我试图在插入节点后获得焦点:

<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)]

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>