0

我正在尝试在输入文本框上触发 datepicker() 对象。因此,所有带有 .dateField 类的输入都会在点击/聚焦时触发 datepicker()。但它不起作用。我第一次点击时它不起作用。如果我单击框外,然后再次单击框内,它可以工作。

$(".dateField").bind('click focus change', function(){
            $(this).datepicker();
        })
4

2 回答 2

1

假设您正在使用来自 jQuery UI 的日期选择器,您将需要datepicker在与元素进行第一次交互之前调用该方法,例如在 DOM 就绪时:

$(function () {
    $(".dateField").datepicker();
});

您当前执行的方式将在第一次交互时初始化日期选择器(实际上,它将在每次交互时初始化它),但它不会在第一次时显示它。

这是一个包含两个版本的工作示例。取消注释您的代码版本(并注释掉我的版本)以查看差异。

于 2012-07-10T12:46:09.617 回答
1

datepicker函数为您的输入配备所有需要的回调和代码。

这并不意味着被称为对“点击”或“聚焦”的反应。

它应该只被调用一次,在初始化时:

$(function(){
    $(".dateField").datepicker();
});
于 2012-07-10T12:46:11.217 回答