Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui IE9中对话框自动聚焦中的jQueryUI日期选择器_Jquery Ui_Jquery Ui Dialog_Jquery Ui Datepicker - Fatal编程技术网

Jquery ui IE9中对话框自动聚焦中的jQueryUI日期选择器

Jquery ui IE9中对话框自动聚焦中的jQueryUI日期选择器,jquery-ui,jquery-ui-dialog,jquery-ui-datepicker,Jquery Ui,Jquery Ui Dialog,Jquery Ui Datepicker,我能够加载并重新打开jQueryUI对话框,其中日期选择器是我尝试过的所有浏览器中的第一个元素。。。除了IE 9。 如果在对话框打开时,日期选择器是第一个接收焦点的元素,则日期选择器将自动启动。我可以在FireFox和Chrome中抑制这种行为。IE9仍然在创建时启动日期选择器 我的对话框打开和关闭功能是: open: function (event, ui) { $('#Date').blur(); // kill the focus if ($('#Date').hasClas

我能够加载并重新打开jQueryUI对话框,其中日期选择器是我尝试过的所有浏览器中的第一个元素。。。除了IE 9。 如果在对话框打开时,日期选择器是第一个接收焦点的元素,则日期选择器将自动启动。我可以在FireFox和Chrome中抑制这种行为。IE9仍然在创建时启动日期选择器

我的对话框打开和关闭功能是:

open: function (event, ui) {
   $('#Date').blur();  // kill the focus
   if ($('#Date').hasClass('hasDatepicker')) {
        $("#Date").datepicker('enable');
   }
   else {
      $("#Date").datepicker();
   }
},
close: function (event, ui) {
    $("#Date").datepicker('disable');
}
这是“点击”代码

var dialogs = {};
 $('#clicker').click(function (e) {
     if (!dialogs['dlg']) {
        loadAndShowDialog('dlg');
      } else {
         dialogs['dlg'].dialog('open');
      }
  });

var loadAndShowDialog = function (id) {
 dialogs[id] = $('#dlg').clone().find('#ChangeMe').attr('id', 'Date').end()
      .appendTo(document.body)
      .dialog({ // Create the jQuery UI dialog
          title: 'Testing',
          modal: true,
          resizable: true,
          draggable: true,
          width: 300,
          open: see above
          close: see above

        };
显示此IE9问题的JSFIDLE


除了不将日期选择器作为第一个元素之外,我可以做些什么来让IE正常工作?

我家里没有IE9,所以请尝试一下:

我在datepicker输入中添加了一个类,使其更易于获取

$(function() {

$(document).on("dialogcreate", "#dlg", function() {
    $(".date_picker").datepicker();
    $(".date_picker").datepicker("disable");
});

var dialogs = {};
$('#clicker').click(function(e) {
    if (!dialogs['dlg']) {
        loadAndShowDialog('dlg');
    } else {
        dialogs['dlg'].dialog('open');
    }
});
var loadAndShowDialog = function(id) {

    dialogs[id] = $('#dlg').clone().find('#ChangeMe').attr('id', 'Date').end().appendTo(document.body).dialog({ // Create the jQuery UI dialog
        title: 'Testing',
        modal: true,
        resizable: true,
        draggable: true,
        width: 300,
        open: function(event, ui) {
            $("div#dlg form input").blur(); //takes focus off inputs 
            $(".date_picker").datepicker("enable");
        },
        close: function(event, ui) {
            $(".date_picker").datepicker("disable");
        }
    });

};

});

我家里没有IE9,请尝试一下:

我在datepicker输入中添加了一个类,使其更易于获取

$(function() {

$(document).on("dialogcreate", "#dlg", function() {
    $(".date_picker").datepicker();
    $(".date_picker").datepicker("disable");
});

var dialogs = {};
$('#clicker').click(function(e) {
    if (!dialogs['dlg']) {
        loadAndShowDialog('dlg');
    } else {
        dialogs['dlg'].dialog('open');
    }
});
var loadAndShowDialog = function(id) {

    dialogs[id] = $('#dlg').clone().find('#ChangeMe').attr('id', 'Date').end().appendTo(document.body).dialog({ // Create the jQuery UI dialog
        title: 'Testing',
        modal: true,
        resizable: true,
        draggable: true,
        width: 300,
        open: function(event, ui) {
            $("div#dlg form input").blur(); //takes focus off inputs 
            $(".date_picker").datepicker("enable");
        },
        close: function(event, ui) {
            $(".date_picker").datepicker("disable");
        }
    });

};

});

好极了,比我在黑暗中的刺杀好多了!好极了,比我在黑暗中的刺杀好多了!