Javascript 侦听HTML日期输入上的更改

Javascript 侦听HTML日期输入上的更改,javascript,jquery,html,date,input,Javascript,Jquery,Html,Date,Input,我有这样一个输入: <input type="date"> 问题是,用户在日期字段中键入一个按键的第二次,它就会重新加载页面 相反,我可以监听日期输入中按下的Enter键,这意味着用户已经完成了对日期的编辑。然而,这并不能捕捉到用户从下拉日历UI中选择日期的情况。正如@Rakesh_Kumar所说,当你失去输入的焦点时,你需要捕捉它。这可以通过使用blur()函数实现。您的代码如下所示: $("input").change(function(){ $.cookie("asofd

我有这样一个输入:

<input type="date">
问题是,用户在日期字段中键入一个按键的第二次,它就会重新加载页面


相反,我可以监听日期输入中按下的Enter键,这意味着用户已经完成了对日期的编辑。然而,这并不能捕捉到用户从下拉日历UI中选择日期的情况。

正如@Rakesh_Kumar所说,当你失去输入的焦点时,你需要捕捉它。这可以通过使用blur()函数实现。您的代码如下所示:

$("input").change(function(){
  $.cookie("asofdate", $(this).val());
  window.location.reload();
});
$("input").blur(function(){
  $.cookie("asofdate", $(this).val());
  window.location.reload();
});
试试这个

$("input").keyup(function(e){
    if(e.which == 13){
        $.cookie("asofdate", $(this).val());
        window.location.reload();   
    }
});

更改事件仅在输入失去焦点时触发,或者说在输入后,按下enter键…问题是什么?简要告诉我?您的解决方案不会捕获他们从日历下拉UI选择日期的情况。如果他们从日历中选择它,我希望它在不按enter键的情况下刷新。这不起作用,因为按enter键不会使焦点消失。单击日历下拉列表也不会使焦点消失