带有swipe.js的JQM会在每次后续访问时再触发一次事件,我只有'pageshow'事件而没有'click'功能或者其他什么

时间:2014-02-11 13:21:49

标签: jquery-mobile swipe.js

所以我试图在与jQuery mobile的配合中使用swipe.js。

我进行了设置,以便swipe.js滑块在jqm'pageshow'事件中自动启动。

我现在遇到的问题是,当我离开页面并回来时,滑动功能中的代码会再执行一次。

这个问题似乎与jqm相当普遍,我在SO和其他网络上阅读了很多可能的解决方案。 但是,所有这些似乎对其他人有效的解决方案都涉及“pageshow”事件中的次要“点击”事件。

这些解决方案例如:http://www.gajotres.net/prevent-jquery-multiple-event-triggering/似乎很棒,但我的“点击”功能在哪里,遗憾的是我没有。

我有点失落,因为我没有点击事件。 我相信这个函数已经绑定到'pageshow'事件......并尝试了许多不同的方法来解决这个问题。

$(document).off('pageshow', '#home').on('pageshow', '#home', function() {
    var home = document.getElementById('mySwipe');
    window.mySwipe = Swipe(home, { 
        auto: 5000,
        speed: 500,
        disableScroll: true,
        callback: function(index) {
             console.log(index);
         }
    });
});

上面的代码尝试从上面的链接实现解决方案#2,然后从'pageshow'解除绑定'.off',然后再用'.on'绑定它。 但我做错了,我不明白。

我应该提一下swipe.js看起来运行得很好,但是当尝试将回调中的索引值检索到控制台时,上面的代码会在每次返回#home页面时重复一次console.log。 / p>

此外,.js代码位于标题中,我正在使用一个具有多个页面ID的索引页面。     

任何人都可以看到我在这里无法连接的点吗?

0 个答案:

没有答案