在jquery mobile中使用swipeleft和swiperight进行两次射击?

我是jQuery mobile的新手。 我使用滑动概念来滑动多个单独的html页面。 当我从swipepage3到swipepage2时它正常工作。 swipepage2到swipepage1,swipepage2到swipepage3,它发射两次。 如何解决这个问题?

这是我的代码:

Swipepage1.html

   Share QR        

Countries

Newyork

Footer

Swipepage2.html

    Share QR       
Home

Countries

Seoul

Footer

Swipepage3.html

    Share QR       
Home

Countries

Capetown

Footer

slide.js

 $(document).on('pagebeforecreate', function() { $('#article1').bind('swipeleft', function(event,ui) { $.mobile.changePage("swipepage2.html", "slide"); }); $('#article2').bind('swipeleft', function(event,ui) { $.mobile.changePage("swipepage3.html","slide"); }); $('#article2').bind('swiperight', function() { $.mobile.changePage("https://stackoverflow.com/questions/19448137/firing-twice-when-swipeleft-and-swiperight-in-jquery-mobile/swipepage1.html","slide"); }); $('#article3').bind('swiperight', function(event,ui) { $.mobile.changePage("swipepage2.html","slide"); }); }); 

这是因为事件正在为页面绑定两次。

1.建议使用.on()而不是.bind()我在pagecreate / init / show之外使用它。我没有遇到任何问题.on例如。

 $('#article1').on('swipeleft', function(event,ui) { $.mobile.changePage("swipepage2.html", "slide"); });