首次点击时不显示Datepicker

时间:2016-07-31 10:52:45

标签: javascript jquery

我刚刚创建了一个简单的textbox,其中我绑定了.click事件以显示Datepicker,无论如何,似乎只需点击Datepicker即可t显示,但是如果我在控件外单击然后再次单击textbox我可以看到Datepicker,我想知道为什么会这样?

在这里查看我的代码:

<input type="text" id="calendar" placeholder="calendar">

$(function()
{
    $('#calendar').click(function()
    {
        $(this).datepicker();
    });
});

FIDDLE.

3 个答案:

答案 0 :(得分:2)

您正在文本框中单击初始化日期选择器。如果要在页面加载后立即打开日期选择器,则必须初始化文档就绪方法

将初始化代码更改为

$(function()
{
    $('#calendar').datepicker();
});

供您参考fiddler已更新

答案 1 :(得分:1)

您不必使用click事件来启动日期选择器。 您所要做的就是删除点击事件,它将起作用! 日期选择器已附加到您的输入框,并将自行处理事件。

答案 2 :(得分:0)

调用datepicker()不会调用日历显示。 datepicker()所做的是附加一个“显示日历”#39}。关于输入焦点的事件。这就是为什么只有当您将焦点放回输入字段时才能看到日历的原因(而不是每次点击#calendar元素)。

如果由于某些其他事件(例如按钮点击)而要触发日历显示,则可以拨打$('#calendar').datepicker('show')