【发布时间】:2013-03-05 22:35:45
【问题描述】:
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 插件应用于只读字段。
有什么建议吗?
【问题讨论】:
标签: jquery jquery-ui datepicker enter