【问题标题】:Capture scroll event on a particular jQuery Mobile Page捕获特定 jQuery Mobile 页面上的滚动事件
【发布时间】:2013-11-28 23:00:11
【问题描述】:

如何捕获特定 jQuery Mobile 页面上的滚动事件?

页面

<div id='pg_remote-address-book' data-role='page'>
  <div data-role='content' id='pg_remote-address-book_content'>
    <ul data-role='listview' id='ul_address_list'>
    </ul>
  </div>
</div>

在pagebeforecreate上,动态加载无序列表内的项目

for ( var i = 0; i < 100; i++ ) {
  $("#ul_address_list").append("<li>"+i+"</li>");
}

捕捉滚动

$('#pg_remote-address-book').scroll(function () {
  console.log('scrolled');
});

滚动事件未被捕获。我怎样才能捕捉到它?

如果我使用“window”而不是“#pg_remote-address-book”,那么它就可以工作了。但我想捕获特定页面上的滚动事件。你能帮我解决这个问题吗?

【问题讨论】:

  • #pg_remote-address-book 是动态生成的吗?是这样吗,那么也许您应该将事件冒泡到另一个 div 并将处理程序附加到这个。
  • @fos.alex,不,pg_remote-address-book 不是动态生成的。这在 index.html 中可用

标签: javascript jquery jquery-mobile


【解决方案1】:

监听scrollstartscrollstop事件,并使用.on绑定事件。

$(document).on("scrollstart", function (e) {
  var active = $.mobile.activePage[0].id;
  if (active == "pg_remote-address-book") {
    // Do something
  } else {
    // Do something else
  }
});

Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 2012-05-05
    相关资源
    最近更新 更多