bootstrap 模态框(modal)中的输入框如何获得焦点?
bootstrap 模态框中有个表单,模态框弹出后,如何让表单中的输入框自动获得焦点(即弹出后直接可以输入,不用再点击鼠标)?
我要的效果是这样的
做法如下
$('#renameModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var fileName = button.data('filename');
var id = button.data('id');
var modal = $(this);
var renameForm = modal.find("#renameForm");
var action = renameForm.attr("base-action");
renameForm.attr("action", action+id);
console.log(fileName);
var renameInput = modal.find('.modal-body #file-name');
renameInput.val(fileName);
//获得焦点时文本全选
renameInput.focus(function () {
this.select();
});
renameInput.focus();
});
但是没有效果,如图:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
应该可以直接在表单里加个autofocus属性吧,考虑兼容性可以挂个polyfill或者jQ插件。
renameInput 是jq对象,不是dom对象,需要转化下
renameInput[0].focus();