如何防止jquery datepicker在初始页面加载时弹出但仍然滚动到datepicker文本框

我有类似于以下javascript的东西:

$(function () { $("#txtDate").focus(); $("#txtDate").datepicker({ ... autoOpen: false, ... }); }); 

我想在页面加载时专注于文本框,而不会弹出日期选择器。 目前,页面加载的日期选择器已经打开。

我需要能够在页面加载时将页面滚动到该文本框,并且txtDate文本框具有焦点以便用户可以轻松地在表单中切换到下一个输入。

任何帮助将不胜感激。

编辑:
注意:必须在IE 8-10中工作

试试这个:

 var initialized = false; $(function () { $("#txtDate").focus(); $("#txtDate").blur(function(){ if(!initialized){ $("#txtDate").datepicker({ autoOpen: false }); initialized = true; } }); }); 

http://jsfiddle.net/pQALk/3/

这个jQuery有效:

 $(function () { $(".txtDate").focus(); setTimeout(function() {$(".txtDate").datepicker({ autoOpen: false });},10); }); 

这有点像黑客 – 在绑定datepicker之前添加了0.01秒的延迟,因此焦点发生在绑定datepicker之前,因此不会触发datepicker。 http://jsfiddle.net/pQALk/2/