2016-11-26 90 views
4

一些jQuery Mobile的觸摸事件我有以下的代碼,它似乎很清楚,jQuery是工作,但一些jQuery Mobile的事件不燒都:沒有發射

<!DOCTYPE html> 
<html> 
    <head> 
     <title>JQuery Mobile Test</title> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
     <script src="js/jquery.js"></script> 
     <script src="js/jquery.mobile.custom.complete.min.js"></script> 
     <link rel="stylesheet" href="css/jquery.mobile.custom.complete.theme.min.css"/> 
     <link rel="stylesheet" href="css/jquery.mobile.custom.complete.structure.min.css"/> 
     <script> 
      $(function(){ 
       $(document).on("touchstart", function(e){ 
        $('#touchstart').html("touchstart"); 
       }); 
       $(document).on("touchend", function(e){ 
        $('#touchend').html("touchend"); 
       }); 
       $(document).on("touchmove", function(e){ 
        $('#touchmove').html("touchmove"); 
       }); 
       $(document).on("touchcancel", function(e){ 
        $('#touchcancel').html("touchcancel"); 
       }); 
       $(document).on("tap", function(e){ 
        $('#tap').html("tap"); 
       }); 
       $(document).on("taphold", function(e){ 
        $('#taphold').html("taphold"); 
       }); 
       $(document).on("swipe", function(e){ 
        $('#swipe').html("swipe"); 
       }); 
      }); 
     </script> 
     <style> 
     </style> 
    </head> 
    <body> 
     <div id="touchstart">-</div> 
     <div id="touchend">-</div> 
     <div id="touchmove">-</div> 
     <div id="touchcancel">-</div> 
     <div id="tap">-</div> 
     <div id="taphold">-</div> 
     <div id="swipe">-</div> 
    </body> 
</html> 

我想出來的Android上的Chrome。在上述事件中,這些不起作用:taptapholdswipe。我有三重檢查文件的URL。

上面的JQuery版本:JQuery:壓縮,生產3.1.1,和最新的JQuery Mobile:1.4.5,自定義與所有選項,縮小。

煩人它的工作原理預期,當我與(隨機)更早的版本替換鏈接和腳本標記,的jQuery主持:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" /> 
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script> 

當我用不工作最新的JQuery託管版本:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" /> 
<script src="http://code.jquery.com/jquery-3.1.1.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 

但我需要自己託管這些文件,我希望擁有最新版本。我究竟做錯了什麼? API有差異嗎?或者它是一個JQuery的錯誤?

+1

它不使用jQuery V3工作。使用舊版本的jQuery。另外,我不推薦使用jQM的自定義版本;創建自己的觸摸事件。 – Omar

回答

3

要擴展Omar上面的評論... jQuery Mobile與最新版本的jQuery不兼容。如果你看看jquerymobile homepage,你會在下載按鈕(右上角)下看到你可以使用哪些版本的jQuery。目前爲JQM v.1.4.5你需要:

的jQuery 1.8 - 1.11/2.1