Jquery 无法在ui对话框中删除自动对焦

Jquery 无法在ui对话框中删除自动对焦,jquery,autofocus,Jquery,Autofocus,我的jQueryUI对话框中的第一个元素是一个输入,选中它会打开一个日期选择器 如何禁止首先选择此输入?非常简单,只要在对话框打开时触发输入元素上的模糊事件即可 $("#dialog").dialog({ open: function(event, ui) { $("input").blur(); } }); 过来看 带日期选择器 注意:要更深入地解决此问题,请阅读答案。JQuery将自动聚焦设置在找到的第一个输入上。 因此,通过在对话框的第一行创建一个“假”输

我的jQueryUI对话框中的第一个元素是一个输入,选中它会打开一个日期选择器


如何禁止首先选择此输入?

非常简单,只要在对话框打开时触发输入元素上的
模糊事件即可

$("#dialog").dialog({
    open: function(event, ui) {
        $("input").blur();
    }
});
过来看 带日期选择器
注意:要更深入地解决此问题,请阅读答案。

JQuery将自动聚焦设置在找到的第一个输入上。
因此,通过在对话框的第一行创建一个“假”输入来偷偷地玩它,如下所示:

<input type='text' size='1' style='position:relative;top:-500px;' />


因此,您的输入将不在窗口中,并具有焦点。为我解决的问题;p

在调用对话框之前添加以下代码。这将清除自动对焦代码。它在jQuery2.0.3中对我有效

$.ui.dialog.prototype._focusTabbable = function(){};

你有测试页面吗?或者创建一个显示您的案例这是ui-dialog的一个普遍问题。谢谢-这帮助我解决了对话框始终返回到第一个元素的问题,而不仅仅是在打开时,这正是我想要的!伟大的目前我需要混合使用jqueryUI和bootstrap,并且使用大量没有输入的对话框,这导致我的所有第一个对话框按钮都处于悬停状态,因此看起来很糟糕。这解决了issueIt需要jQueryUI1.10或higherIt的麻烦,但它很好地实现了这一点。感谢您为我节省了大量时间。不幸的是,当处理一个自动打开:false的对话框时,这不起作用。