输入字段未在首次单击/焦点上注册javascript事件

时间:2012-07-10 12:42:04

标签: javascript jquery

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

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

2 个答案:

答案 0 :(得分:1)

假设您使用的是date picker from jQuery UI,则需要在首次与元素互​​动之前调用datepicker方法,例如在DOM准备就绪:

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

您目前正在进行此操作的方式将在第一次交互时初始化日期选择器(实际上,它会在每次交互时初始化它),但它不会在第一次交互时显示它。 / p>

Here's a working example包含两个版本。取消注释您的代码版本(并注释掉我的版本)以查看差异。

答案 1 :(得分:1)

datepicker函数为您的输入提供了所有需要的回调和代码。

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

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

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