【问题标题】:To detect the scroll on listview using jquery or jquery mobile使用 jquery 或 jquery mobile 检测列表视图上的滚动
【发布时间】:2013-11-14 08:33:45
【问题描述】:

我正在使用 jquery mobile 并创建了一个列表视图。此列表视图包含在 div 中,并且在该 div 中启用了列表滚动。

我想在列表上执行一些任务作为列表上的滚动启动。我尝试了以下代码:

$(".book").scrollstart(function(e) {
  alert("scrolling started!!");
});

将 Jquery mobile 'scrollstart' 事件绑定到该列表对我不起作用。请检查此小提琴here

但如果我将此事件绑定到窗口,那么只有它起作用。那么有什么方法可以检测该特定列表上的滚动开始吗?

谢谢。

【问题讨论】:

    标签: jquery jquery-mobile


    【解决方案1】:

    您的<ul> 没有滚动, 所以滚动事件永远不会触发。 您必须指定<ul> 的高度:

    CSS

    .book {
        overflow: auto;
        height:200px;
    }
    

    JS

    $( ".book" ).on( "scrollstart", function( event ) {
        alert("scroll");
    });
    

    fiddle

    如果要获取录入文档的滚动条:

    JS

    $(document).on( "scrollstart", function( event ) {
        alert("scroll");
    });
    

    【讨论】:

    • 我试过了,效果很好。但是内容是动态的,所以我不能给 ul 提供固定的高度。也有可能我的 li 元素很少。
    • 如果容器没有 scoll,事件滚动启动不会触发,仅此而已!
    【解决方案2】:

    在你的小提琴中,我错过了 (document).ready()

    $(document).ready(function(){
        $(".book").scrollstart(function(e) {
              alert("scrolling started!!");
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多