jquery - 如何使用 JQuery .on() 来捕捉滚动事件

标签 jquery css jquery-plugins

我正在尝试使用 jQuery 中的 .on() 来捕获标签内的滚动事件。

所以这是我的解决方案:

  • div id='popup'
  • .fixedHeader 类是我尝试固定在 div 框架顶部的东西。
  • getScrollTop() 是一个返回顶部值的 javascript 函数(有效)

    $(document).on("scroll#popup", '#popup', function(){
       alert('scrolling');
       $(".fixedHeader").css("position", "relative");
       $(".fixedHeader").css("top", getScrollTop());
    });
    

最佳答案

混淆在于“on()”的工作原理。在 jQuery 中,当您说 $(document).on(xx, "#popup", yy) 时,您试图在 xx 事件到达文档但原始目标是“#popup”时运行 yyy。

如果文档没有收到 xx 事件,则意味着它没有冒泡!详细信息在 jQuery On 文档中,但三个事件“load”、“error”和“scroll”不会在 DOM 中冒泡。

这意味着您需要将事件直接附加到接收它的元素。 $("#popup").on(xx,yy);

关于jquery - 如何使用 JQuery .on() 来捕捉滚动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10625104/

相关文章:

javascript - 如何使用jquery在鼠标点击时显示列表?

html - 当前页面的导航栏突出显示

html - 如何在实现 css 中更改一个部分的字体大小?

javascript - jquery压缩错误

jquery - SWFUpload - DOM 操作中断

javascript - 为什么 jQuery .after() 不链接新元素?

jquery - 截断时可调整大小的框的高度相同

javascript - 带有 animate.css 的猫头鹰旋转木马标题

javascript - 想要改变多个 div 的颜色几秒钟,但仅限于最近加载的

jquery - 如何在jQuery Expander插件中使用jQuery的 "slideDown"和 "slideUp"效果?