2012-03-16 41 views
16

我想創建一個HTML5輸入日期組件,以便我可以利用本機iOS日期/時間選擇器並使用jquery。我有以下代碼來生成組件:如何註冊在iOS上的<input type = date>上的值更改事件

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

代碼在本機應用程序的webkit組件中運行。輸入控件顯示正常,我可以使用選取器更改該值。但是,當我更改值並關閉選取器時,不會觸發更改函數。當我在Chrome的網頁中運行這個功能時,事情按預期工作。我如何在iOS上完成這項工作?

+0

發現其他用戶抱怨沒有觸發更改事件,他們被建議使用類似以下工具包的東西:http://cubiq.org/spinning-wheel-on-webkit-for-iphone-ipod-touch – 2012-03-16 16:16:14

+0

感謝您的建議,但使用該套件不會提供我們產品所需的語言環境支持。 – 2012-03-16 18:13:42

回答

23

當日期/時間選擇器被解除時,將調用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)較新的版本:

  • 在選擇了日期
  • onblur事件不會被調用時被調用onchange事件下拉被駁回,僅一旦控制失去鍵盤焦點

這裏是一個事件是使用普通的JavaScript生成的示例顯示:http://jsbin.com/iximuy/4

+0

男人,我正在把我的頭髮拉出來,謝謝你救了我! – kand 2012-10-10 16:00:17

相關問題