Javascript focus()根本不起作用

Javascript focus()根本不起作用,javascript,twitter-bootstrap,Javascript,Twitter Bootstrap,我尝试在引导模式中输入focus(),但似乎没有任何效果。我尝试了setTimeout和tabindex修复程序,但没有任何效果 即使我在控制台中运行它: $("#inpProperty").focus(); $("#inpProperty")[0].focus(); 它没有聚焦。我在Fedora上使用Firefox 53.0,64位 这是模式: <div id="mdlAddProperty" class="modal fade" role="dialog"> <di

我尝试在引导模式中输入
focus()
,但似乎没有任何效果。我尝试了
setTimeout
tabindex
修复程序,但没有任何效果

即使我在控制台中运行它:

$("#inpProperty").focus();

$("#inpProperty")[0].focus();
它没有聚焦。我在Fedora上使用Firefox 53.0,64位

这是模式:

<div id="mdlAddProperty" class="modal fade" role="dialog">
  <div class="modal-dialog">
    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Create New Property</h4>
      </div>
      <div class="modal-body">

        <div class="alert alert-danger collapse" id="divAlert">
            <a href="#" class="collapse" data-dismiss="alert">&times;</a>
            <span id="spnMessage"></span>
        </div>

        <p>Property Name:</p>
        <p><input class="input" id="inpProperty" tabindex="1"></p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-success" tabindex="2" onclick="btnAddProperty_Click()">Create</button>
        <button type="button" class="btn btn-default" tabindex="3" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>

&时代;
创建新属性
物业名称:

创造 接近

更新它在Chrome中工作一次,在Firefox中工作零次。

以下是您可以使用的引导模式事件:

请在此处阅读更多信息:

此外,如果您在控制台上运行js,则需要使用以下命令(先打开模式):

jQuery(“#inproperty”).focus()

$(文档).ready(函数(){
$(“#myBtn”)。单击(函数(){
$(“#mdlAddProperty”).modal(“show”);
});
$(“#mdlAddProperty”).on('show.bs.modal',function(){
$(“#inproperty”).focus();
});
});

模态事件-显示为.bs.Modal
开放模态
&时代;
创建新属性
物业名称:

创造 接近
如果需要在刚开始时对其进行聚焦,可以在要聚焦的html元素上添加
自动聚焦事件

<div id="mdlAddProperty" class="modal fade" role="dialog">
  <div class="modal-dialog">
    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Create New Property</h4>
      </div>
      <div class="modal-body">

        <div class="alert alert-danger collapse" id="divAlert">
            <a href="#" class="collapse" data-dismiss="alert">&times;</a>
            <span id="spnMessage"></span>
        </div>

        <p>Property Name:</p>
        <p><input class="input" id="inpProperty" tabindex="1" autofocus></p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-success" tabindex="2" onclick="btnAddProperty_Click()">Create</button>
        <button type="button" class="btn btn-default" tabindex="3" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>

请给我一个代码示例。。。Lolu是否用DOM就绪事件围绕代码?@Nixivious该代码是从事件处理程序运行的。但正如我所说的,即使在控制台中,我也无法使其对焦。你是否在显示的
内编写了
对焦
。bs.modal
模态事件?@Panther尝试了它,但不起作用。这没有什么区别。这是可行的,但我无法在我自己的模态代码中运行它。几乎什么都试过了……显然,都是上面提到的。我添加了一个超时,现在它可以工作了。@BartFriederichs如果你能找到原因,使用超时不是一个很好的做法。同意,但许多其他答案也表明了这一点。现在就可以了,以后可能会真的修复。还是没什么。我想关注模态显示的时间,而不是文档加载的时间。你能提供一个片段吗?所以我们可以实时测试它
$(document).ready(function() {
    $("#inpProperty").focus();
    $("#inpProperty")[0].focus();
});