Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript <;自动对焦>;在刷新页面之前无法重复获取焦点_Javascript_Jquery - Fatal编程技术网

Javascript <;自动对焦>;在刷新页面之前无法重复获取焦点

Javascript <;自动对焦>;在刷新页面之前无法重复获取焦点,javascript,jquery,Javascript,Jquery,我在一篇文章的底部设计了一个脚注来注释后续状态 <article class="col-md-12"> </article> <div class="col-md-12 footnote"> <a href="{% url 'article:footnote_add'%}">add a footnote</a> </div> 表单使用Ajax提交到服务器,然后我通过 $footnotesTop.find(“.fo

我在一篇文章的底部设计了一个脚注来注释后续状态

<article class="col-md-12">
</article>
<div class="col-md-12 footnote">
    <a href="{% url 'article:footnote_add'%}">add a footnote</a>
</div> 
表单使用Ajax提交到服务器,然后我通过

$footnotesTop.find(“.footnote表单”).html(”
)。现在页面显示文章和新添加的脚注

但是,如果我再次单击“添加脚注”,它将无法像第一次那样自动获得焦点,直到我刷新页面以单击为止


如何在第二次单击事件期间获取表单焦点。

您需要使用委派的eventHandler。js code
$('.footnote link a')。on('click',函数(e){
仅在加载页面时应用于jQuery使用该选择器查找的元素

试试
$(文档)。在('click',')上。脚注链接a',函数(e){
。您可以使用更紧密的选择器,而不是文档-看起来像
。脚注
将根据我看到的内容工作


谢谢,这是通常使用的$(正文)还是$(文档)而不是指定的选择器?不,不是真的。对于包含大量动态添加内容和大量事件处理程序的页面,可能会有一些延迟。如果您知道您将修改dom,并且您知道页面上不会有太多的元素,那么实践是可以的。
$('.footnote-link a').on('click', function (e) {
    e.preventDefault();
    ...
    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" type="submit" id="articleFootnoteBtn">Add Annotation</button>
    </div>
</div>
</form>`);
     $articleFootnoteLink.parent().hide();
     $articleFootnoteLink.parent().after($footnoteForm);