Jquery UI datepicker 似乎忽略了输入字段的“只读”属性。
在下面的代码中,我可以通过使用“beforeShow”事件来禁用弹出日历(感谢 StackOverflow 上的另一个答案 - 为了他人的利益而在此处复制)
但是,我无法阻止 Enter 键使用当前日期填充文本框。我尝试拦截“keydown”事件(如下),但没有任何乐趣。:-(
<input type="text" class=".input-date" readonly="readonly" />
$(".input-date").datepicker({
beforeShow: function (input, inst) {
if ($(input).attr("readonly")) {
inst.dpDiv = $('<div style="display: none;"></div>');
}
}
})
.bind("keydown", function (e) {
if (e.keyCode == 13 && $(this).attr("readonly") == "readonly") {
e.preventDefault();
e.stopPropagation();
return false;
}
})
FWIW:日期字段的“只读”在我的页面上动态打开和关闭,所以我不能不将 datepicker 插件应用于只读字段。
有什么建议么?