我正在尝试将来自 Skinkers Labs 的 TouchSwipe 插件与 jQuery Mobile 结合使用在我创建的移动网站上,该网站也利用了响应式设计。

触摸滑动:
http://labs.skinkers.com/touchSwipe/

我遇到的情况是我可以让 TouchSwipe 插件在移动设备上的普通页面上正常工作,但是一旦我添加了 jQuery Mobile js 文件,TouchSwipe 功能就不再起作用。

这是我收到的 JS 错误(在 jquery-1.7.1.js 的第 3256 行):



这是我在 HTML 中包含 JavaScript 的地方:

<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/jquery.touchSwipe-1.2.5.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>

<script type="text/javascript">
    $("#divCheckingWrapper").live("pagecreate", function(event) {
        var swipeOptions = {
            swipeStatus: swipeStatus,
            allowPageScroll: "vertical"
        };

        SWIPEABLE_NODES = $("#divCheckingSlider");
        SWIPEABLE_NODES.swipe(swipeOptions);

        CONTENT_WIDTH= SWIPEABLE_NODES.parent().width();
        MAX_NODES = SWIPEABLE_NODES.find("div.divCheckingSliders").length;
    });
</script>

<script type="text/javascript" src="js/jquery.mobile-1.1.0-rc.1.min.js"></script>

main.js 包含来自 TouchSwipe 站点的 Image Swipe 示例代码中的所有辅助函数:

http://labs.skinkers.com/touchSwipe/demo/image_scroll.php

知道为什么我会看到这个错误吗?一旦我删除了 jQuery Mobile javascript 文件,插件就可以正常工作,但我需要这个站点的 jQuery Mobile。

如果您愿意,我很乐意发布更多代码。如果您有任何问题或需要更多信息,请告诉我。

在此先感谢您的帮助!

最佳答案

你这样做是错误的。您在 TouchSwipe 之后加载 JQM,但 TouchSwipe 应该覆盖 JQM。这就像在墙之前建 window 一样。

我已经测试过并且一切正常,无需更改任何命名。您需要做的就是在 TouchSwipe 之前包含 JQM。

<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.1.0-rc.1.min.js"></script>
<script type="text/javascript" src="js/jquery.touchSwipe-1.2.5.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>

关于javascript - jQuery Mobile 和 TouchSwipe jQuery 插件错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9794927/

10-12 02:59