使用jQuery Mobile Pagecreate访问页面上的jQuery函数

时间:2013-03-23 09:34:40

标签: jquery ajax jquery-mobile

我很难理解如何使用jQuery Mobile的pagecreate将一些jQuery函数加载到页面中。无论何时加载页面(无论是直接访问还是单击),我都希望能够访问下面的swipeleft函数...

如果我直接访问该页面,则此功能正常,但只要我尝试导航回到它(即通过href标签到达那里),它就会停止工作。有任何想法吗?谢谢!

<script type='text/javascript'>
$('#listitem').live('pagecreate',function(event){
$.event.special.swipe.horizontalDistanceThreshold = 130;
$("#listitem").swipeleft(function() {
    $('#settings_click').click();
});
});
</script>

<div data-role="page" id="listitem">
<?php //content in here ?>
</div>

1 个答案:

答案 0 :(得分:2)

我为你做了一个工作的例子:http://jsfiddle.net/Gajotres/QFuGK/

$(document).on('pagebeforeshow', '#listitem', function(event){       
    $.event.special.swipe.horizontalDistanceThreshold = 130;        
    $(document).off('swipeleft').on('swipeleft', '#listitem', function(){     
        $('#settings_click').trigger('click');
    });        

    $(document).off('click').on('click', '#settings_click', function(){  
        alert('Button clicked');
    });         
});

您应该使用pagebeforeshow事件更改您的pagecreate。

要测试此代码,请在工作示例中转到另一页并返回。滑动事件将正常触发。

还有一件事,.off(方法用于在再次应用之前删除事件,没有它swipeleft事件会在你返回页面时反复绑定。