我在使用 jQuery 对话框时发现了一个有趣的错误,其中对话框中的第一个字段是日期选择器。在 IE 中打开对话框时,第一个字段的日期选择器会自动打开。这在其他浏览器中不会发生。有谁知道如何防止这种情况在 IE 中发生?
我曾尝试将 a.blur()
放入该document.ready
部分,但没有奏效。有没有其他人看到这个问题?
我正在使用 MVC3 和 IE8
我在使用 jQuery 对话框时发现了一个有趣的错误,其中对话框中的第一个字段是日期选择器。在 IE 中打开对话框时,第一个字段的日期选择器会自动打开。这在其他浏览器中不会发生。有谁知道如何防止这种情况在 IE 中发生?
我曾尝试将 a.blur()
放入该document.ready
部分,但没有奏效。有没有其他人看到这个问题?
我正在使用 MVC3 和 IE8
@ManseUK 的解决方案实际上存在问题;当对话框打开时,用户点击日期选择器的文本框,它不会第一次打开。此解决方案应该适用于所有预期的情况。
我不确定作者是谁,但我在CleanCode.co.nz上找到了解决方案
HTML
<input type="button" value="Show Popup" id="button"/>
<div id="popup">
<div>
Date: <input type="text" id="datePicker3" >
</div>
<div>
Name: <input type="text" id="UserName">
</div>
</div>
jQuery
$(document).ready(function() {
$("#popup").dialog({
autoOpen: false,
resizable: false,
height: 300,
width: 400,
modal: true,
open: function() {
$('#datePicker3').removeAttr("disabled");
},
close: function () {
$('#datePicker3').datepicker('hide');
}
});
$("#datePicker3").datepicker();
$("#button").click(function() {
$('#datePicker3').attr("disabled", true);
$("#popup").dialog("open");
});
});
*您需要启用jQuery UI,然后点击运行