如何在iOS上的<input type = date>上注册值更改事件

我正在尝试创build一个HTML5inputdate组件,以便我可以利用本机iOSdate/时间select器,我正在使用jQuery。 我有以下代码来生成组件:

var $inputDate = $("<input></input>"); $inputDate.attr("type", "date"); $inputDate.attr("value", "2004-05-03"); $inputDate.change(function(event) { console.log("value changed"); }); 

代码在本机应用程序的webkit组件内部运行。 input控件显示正常,我可以使用select器来更改值。 但是,更改值并closures选取器时,不会触发更改函数。 当我在Chrome的网页中运行这个function时,事情就像预期的那样工作。 我如何使这个工作在iOS?

当date/时间select器被解除时,调用onblur函数。 所以这个工作:

 var $inputDate = $("<input></input>"); $inputDate.attr("type", "date"); $inputDate.attr("value", "2004-05-03"); $inputDate.blur(function(event) { console.log("value changed"); }); 

在较新版本的Chrome(和Android版Chrome)中:

  • 在selectdate时调用onchange事件
  • 只有在控件失去键盘焦点时,才会在下拉菜单中调用onblur事件

以下是使用普通JavaScript生成哪个事件的示例: http : //jsbin.com/iximuy/4