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

Mal*_*van 5 javascript jquery jquery-mobile

如何在特定的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>
Run Code Online (Sandbox Code Playgroud)

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

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

捕获滚动

$('#pg_remote-address-book').scroll(function () {
  console.log('scrolled');
});
Run Code Online (Sandbox Code Playgroud)

滚动事件未被捕获.我怎么能抓住那个?

如果我把'window'而不是'#pg_remote-address-book'那么它就可以了.但我想在特定页面上捕获滚动事件.你能帮帮我吗?

Oma*_*mar 2

监听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
  }
});
Run Code Online (Sandbox Code Playgroud)

演示