添加jquery移动滑动事件

时间:2011-09-03 12:53:06

标签: jquery jquery-mobile

我有一个listview,我想要做的是在链接上添加一个滑动事件。例如,如果用户滑动第一个链接,则会转到该页面。这可能与listview元素一起使用。我试过div,href,a,li,ul但仍然没有警报。它适用于身体。感谢

<div>
  <ul data-role="listview" data-inset="true">
   <li class="rqstpage"><a href="./requests.php">Requests</a></li>
   <li><a href="./speakers.php" data-transition="pop">Control Panel</a></li>
   <li><a href="./schedule.html">Schedule</a></li>
   <li><a href="./information.html">Information</a></li>
  </ul>
</div>


<script>
$("div ul li.rqstpage").bind('swipe',function(event, ui){
  $.mobile.changePage("requests.php", "slide");
});
</script>

5 个答案:

答案 0 :(得分:29)

直播示例:

JS:

$("#listitem").swiperight(function() {
    $.mobile.changePage("#page1");
});

HTML:

<div data-role="page" id="home"> 
    <div data-role="content">
        <p>
            <ul data-role="listview" data-inset="true" data-theme="c">
                <li id="listitem">Swipe Right to view Page 1</li>
            </ul>
        </p>
    </div>
</div>

<div data-role="page" id="page1"> 
    <div data-role="content">

        <ul data-role="listview" data-inset="true" data-theme="c">
            <li data-role="list-divider">Navigation</li> 
            <li><a href="#home">Back to the Home Page</a></li>
        </ul>

        <p>
            Yeah!<br />You Swiped Right to view Page 1
        </p>
    </div>
</div>

相关:

答案 1 :(得分:5)

您是否尝试过使用live()绑定?

更新.live()将被弃用,正确用途为.on()

它将处理程序附加到所有当前匹配元素的事件以及稍后可能匹配的元素。

pageCreate() {
  $(parent).on('swipe', 'li.rqstpage', function() {
     $.mobile.changePage("requests.php", "slide");
  }
}

您是否考虑将此库用于gestures

答案 2 :(得分:1)

如果你直接在控件上绑定它,

是否有效:

pageCreate() {
  $("li.rqstpage").swipe() {
     $.mobile.changePage("requests.php", "slide");
  }
}

答案 3 :(得分:0)

如果您希望页面沿用户滑动的自然方向滑动,请按以下方式进行:

// For a left swipe: page slides from right to left
$('#listitem').on('swipeleft', function() {
    $.mobile.changePage('#page-to-left', { transition: slide});
});

// For a right swipe: page slides from left to right (add "reverse: true")
$('#listitem').on('swiperight', function() {
    $.mobile.changePage('#page-to-right', { transition: slide, reverse: true});
});

答案 4 :(得分:0)

如果您想要转换,您需要指定您想要转换,例如

$.mobile.changePage('#page1', { transition: 'flip' });