【发布时间】:2011-01-12 00:01:10
【问题描述】:
我知道如果用鼠标选择日期,jquery ui datepicker 会失去焦点。我希望能够专注于该输入字段。所以我做了这样的事情
$("#patientDob").live("click", function() {
$("#patientDob").datepicker({
onSelect: function() {
this.focus();
// selecting a date moves the page, so remove the href attribute
$(".ui-datepicker a").removeAttr("href");
},
changeMonth: true,
changeYear: true,
duration: 'fast',
showOn: 'focus'
}).focus();
});
这确实将焦点放在输入字段上,但在 IE 中它会继续再次加载日历。它不会在 Firefox 或 chrome 中这样做。我如何能够在不在 IE 中一次又一次地加载日历的情况下将焦点放在输入字段上?
另外,如果我将输入字段设为只读,并且在 IE 中选择日期后,该字段会失去焦点,如果我尝试按退格键,它会将我带到以前访问过的页面。 任何帮助表示赞赏!
【问题讨论】:
-
所以,你有 datepicker showOn 一个 fucus 事件,并且当他们点击 datepicker 时你有输入获得焦点。它当然会那样做。你为什么这样做?如果他们点击日期选择器,他们使用的是日期选择器而不是输入。唯一的其他选择是让日期选择器仅在他们单击日期选择器按钮而不是焦点时出现。
-
我这样做是因为日期选择器的输入字段是通过 ajax 加载的。我需要一种在输入字段上设置日期选择器的方法
标签: jquery internet-explorer jquery-ui datepicker