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

Jos*_*osh 13 jquery autofocus

我的jQuery UI对话框中的第一个元素是一个输入,选中后会打开一个datepicker ...

如何禁用此输入?

小智 44

在调用对话框之前添加以下代码.这将清除自动对焦代码.它适用于jquery 2.0.3.

$.ui.dialog.prototype._focusTabbable = function(){};
Run Code Online (Sandbox Code Playgroud)

  • 完美解决方案 (4认同)

Sta*_*arx 8

非常简单,只需blur在对话框打开时触发输入元素上的事件.

$("#dialog").dialog({
    open: function(event, ui) {
        $("input").blur();
    }
});
Run Code Online (Sandbox Code Playgroud)

检查出来这里

使用datepicker的解决方案

注意:要更深入地解决此问题,请阅读答案.

  • 不幸的是,当处理具有autoOpen:false的对话框时,这不起作用.http://jsfiddle.net/8VbEU/134/ (2认同)

小智 6

JQuery在找到的第一个输入上设置自动对焦.
因此,通过在对话框的第一行创建一个"假"输入来偷偷摸摸地玩它:

<input type='text' size='1' style='position:relative;top:-500px;' />
Run Code Online (Sandbox Code Playgroud)

因此,您的输入将在窗外并具有焦点.问题解决了我; p