所以在我的页面上我有这个jquery代码,它关注每个模态的最近输入:
$(document).ready(function(){
$(".modal").on('shown.bs.modal', function() {
$(this).closest("[autofocus]:first").focus();
});
});
第一次打开模态时这很好用。但是,当我单击模态并重新打开它时,它不会像我期望的那样关注最近的输入。
这是我的模态代码:
<a href="" data-toggle="modal" data-target="#new_section">New Section</a>
<div class="modal fade item-plus" id="new_section" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Add menu section</h4>
</div>
<div class="modal-body">
<h5 class="menu-section-title">
<%= label_tag :title %>
<br>
<%= text_field_tag :title, nil, :placeholder => "e.g. Appetizers", :class => "input-lg", autofocus: "autofocus" %>
<p class="error" id= "menu-section-title-errors"></p>
<br>
</h5>
<%= link_to_add_association "Add", f, :menu_sections, "data-dismiss" => "modal", :class => "add-section btn btn-primary", disabled: true %>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
答案 0 :(得分:0)
默认情况下,Divs,p和许多其他元素不会聚焦
你应该添加tabindex,也许请试试这个
$(this).closest("[autofocus]:first").attr("tabindex","-1").focus();
但请检查这是否是div