无法将jQuery load()用于模式
我正在使用jQuery load()添加一个包含表单的模式。任何聚焦第一个字段的尝试都失败了。我的代码如下所示: 文件foo.html包含:无法将jQuery load()用于模式,jquery,modal-dialog,load,focus,Jquery,Modal Dialog,Load,Focus,我正在使用jQuery load()添加一个包含表单的模式。任何聚焦第一个字段的尝试都失败了。我的代码如下所示: 文件foo.html包含: <div id='standardModal' class='modal fade' role='dialog'> <div class='modal-dialog'> <div class='modal-content'> <div id='standardModa
<div id='standardModal' class='modal fade' role='dialog'>
<div class='modal-dialog'>
<div class='modal-content'>
<div id='standardModalBody' class='modal-body'>
<form id='addRecord'>
<div class='form-group' id='intTypeD'>
<label for='intType'>Type</label>
<input type='text' class='form-control' id='intType'>
<small id='intTypeM' class='text-danger'></small>
</div>
</form>
</div>
</div>
</div>
不,我想补充一下
$('#addRecord input:text, #addRecord textarea').first().focus();
或
加载完成时调用的函数开头的右侧和模态('show')-但所有4个变体似乎都没有任何效果。此处无需使用JQuery,您只需使用HTML即可
<input type='text' class='form-control' id='intType' autofocus>
您的代码在这里似乎运行良好
$(文档).ready(函数(){
$(“#addRecord输入:文本,#addRecord文本区域”).first().focus();
});代码>
类型
您的模式需要一些时间打开,浏览器需要一些时间回流,尤其是在有转换时。因此,您可以使用一个简单的setTimeout
,或者更好地使用您的模式插件提供的事件,在一定时间后设置焦点
在您的。始终-假设您使用的是引导模式(如果不是,请另外指定):
此外,以下是参考资料:
根据HTML5如何定义其语义,autofocus HTML属性
在引导模态中没有效果。要达到相同的效果,请使用
一些自定义JavaScript
如果这也不起作用,您应该改变策略:在主页中保留一个空模式的存根,然后使用ajax请求只填充内容div
。这样,事件处理程序和所有其他插件都可以在主页上使用 谢谢大家,这很有效:
$('#standardModal').on('shown.bs.modal', function () {
$('#intType').trigger('focus')
})
奇怪的是,我以为我已经通过在调试器中等待来解决了这个可能的问题,但很明显,情况不同
autofocus在大多数浏览器上都有问题,这就是我开始使用jQuery选项的原因
再次感谢,案件已结案
<input type='text' class='form-control' id='intType' autofocus>
$('#standardModal').on('shown.bs.modal', function () {
$('#intType').trigger('focus')
})
$('#standardModal').on('shown.bs.modal', function () {
$('#intType').trigger('focus')
})