jQuery Swipe Event不适用于jQuery 3

时间:2016-10-21 08:51:56

标签: javascript jquery jquery-mobile

我昨天在我的代码jQuery Mobile中加载了因为我需要使用Swipe Event来完成一些工作。以下是我的脚本配置(所有脚本都在 body 关闭标记之前加载):

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.js" type="application/javascript"></script> 

<script>window.jQuery || document.write('<script src="../js/jquery-3.0.0.min.js" type="application/javascript"><\/script>')</script>   

<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js"></script> 

<script type="application/javascript" src="../js/javascript.js" ></script> 

我将以下代码放在 javascript.js (最后一个脚本)中,只是为了测试新的jQuery Mobile而且它没有用。

JAVASCRIPT / JQUERY

$j("body").on("swiperight", function(){
$j("#sidePanel").css("display","none"); 
});

此时,我做了一些调试,发现问题出现在jQuery 3中;如果我加载以前版本的jQuery(2或1),问题就不会出现。以下工作就像一个魅力:

<script src="https://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous" type="application/javascript"></script>

<script>window.jQuery || document.write('<script src="../js/jquery-2.2.4.js" type="application/javascript"><\/script>')</script> 

<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js"></script> 

<script type="application/javascript" src="../js/javascript.js" ></script>  

问题:为什么滑动事件无法与jQuery 3一起使用?

提前谢谢。

2 个答案:

答案 0 :(得分:2)

jQuery mobile需要“jQuery 1.8 - 1.11 / 2.1”。目前没有jQuery 3支持。

您可以使用jQuery Migrate Plugin作为解决方法。

<script src="https://code.jquery.com/jquery-3.0.0.js"></script>
<script src="https://code.jquery.com/jquery-migrate-3.0.0.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js"></script> 
<script type="application/javascript" src="../js/javascript.js" ></script> 

答案 1 :(得分:0)

仅用于滑动事件,我建议使用此轻量级库:

Tocca.js(大约5kb,并且与jquery.js 3.x兼容),而不是jQueryMobile(大约200 Kb,并且与jquery.js 3.x不兼容)。

此外,根本不需要使用jQuery。这是可选的。

易于实施且有据可查。查看一些示例:

Tocca.js GitHub

Tocca.js Developer's website