我的输入字段正在侦听除输入之外的每个"keydown"事件。我有一个日期选择器,不确定发生了什么



我有这个表格,接受来自日期选择器的日期,或者你可以手动输入自己的日期。 我正在格式化任何输入日期以匹配 mm/dd/yyyy。 我正在模糊地这样做,但我遇到了一个问题,当我按 Enter 立即运行搜索时,输入没有正确格式化,从而引发错误。 如果我按回车键,日期选择器就会消失。 如果我再次按回车键,则输入字段会听到它。 输入字段虽然会每隔一次按键听到,而日期选择器可见。

        var $callSearchEndDate = $j('#call-search-end-date');
        $callSearchEndDate.datepicker();
        $callSearchEndDate.blur(function() {
            if (!utility.isNotEmpty($callSearchEndDate.val())) {
                $callSearchEndDate.datepicker('setDate', new Date());
            }
            $j(this).val(checkDate($j(this).val()));
        }).bind('keypress', function(e){
             var code = (e.keyCode ? e.keyCode : e.which);
             console.log('key code = ' + code);
             if(code === 13) { 
                 $j(this).val(checkDate($j(this).val()));
             }
        });

这是答案。 日期选取器在关闭时有自己的事件侦听。 谢谢@TheZ

// Call Search "End Date" datepicker
        var $callSearchEndDate = $j('#call-search-end-date');
        $callSearchEndDate.datepicker({
            onClose : function(){
                $j(this).val(checkDate($j(this).val()));
            }
        });
        $callSearchEndDate.blur(function() {
            if (!utility.isNotEmpty($callSearchEndDate.val())) {
                $callSearchEndDate.datepicker('setDate', new Date());
            }
            $j(this).val(checkDate($j(this).val()));
        });

相关内容

最新更新