我刚刚创建了一个简单的textbox
,其中我绑定了.click
事件以显示Datepicker
,无论如何,似乎只需点击Datepicker
即可t显示,但是如果我在控件外单击然后再次单击textbox
我可以看到Datepicker
,我想知道为什么会这样?
在这里查看我的代码:
<input type="text" id="calendar" placeholder="calendar">
$(function()
{
$('#calendar').click(function()
{
$(this).datepicker();
});
});
答案 0 :(得分:2)
您正在文本框中单击初始化日期选择器。如果要在页面加载后立即打开日期选择器,则必须初始化文档就绪方法
将初始化代码更改为
$(function()
{
$('#calendar').datepicker();
});
供您参考fiddler已更新
答案 1 :(得分:1)
您不必使用click事件来启动日期选择器。 您所要做的就是删除点击事件,它将起作用! 日期选择器已附加到您的输入框,并将自行处理事件。
答案 2 :(得分:0)
调用datepicker()
不会调用日历显示。 datepicker()
所做的是附加一个“显示日历”#39}。关于输入焦点的事件。这就是为什么只有当您将焦点放回输入字段时才能看到日历的原因(而不是每次点击#calendar
元素)。
如果由于某些其他事件(例如按钮点击)而要触发日历显示,则可以拨打$('#calendar').datepicker('show')
。