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">×</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">×</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">×</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">×</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();
});