Jquery移动页面显示功能



我正在使用jqm框架构建一个web应用程序,我一直试图使用pageshow函数时,包括一个jQuery小部件,k3dcarousel。在问题页面上,我有我的脚本下面的data-role="page"div,

$("#page-about").live(
    "pageshow",
    function (event) {
        $('#k3dCarousel_portrait').k3dCarousel();
    }
);

似乎我需要点击我的链接两次获得JS函数加载,这会让我认为我使用这个函数是错误的。还有,如果我不用$("#page-about").die();函数下面的pageshow函数,脚本将被加载多次,如果我点击返回,然后再次点击链接。

我使用pageshow逻辑错误吗?是否有更好的方法来实现我正在尝试做的事情:将此页面AJAX到我的移动框架中。

我知道这是一个相当具体的问题,但希望有一个通用的答案,因为在我看来,这可能发生在任何小部件。

任何帮助是非常感谢,我可以粘贴更多的代码,如果有帮助。

感谢您的宝贵时间。

由于绑定到pageshow事件,因此每次查看页面时都会触发匿名函数。如果你只想在页面的第一个视图上调用代码,那么要么绑定到pagecreate/pageinit事件,要么检查pageshow代码中是否存在k3dCarousel:

$("#page-about").live(
    "pageshow",
    function (event) {
        //check for the existence of HTML within the container element
        if ($('#k3dCarousel_portrait').html().length == 0) {
            $('#k3dCarousel_portrait').k3dCarousel();
        }
    }
);

这里是所有jQuery Mobile特定事件的解释:http://jquerymobile.com/demos/1.0rc3/docs/api/events.html

相关内容

  • 没有找到相关文章

最新更新