首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >防止内容顶端推送时触发的滚动事件

防止内容顶端推送时触发的滚动事件
EN

Stack Overflow用户
提问于 2015-04-17 15:45:28
回答 2查看 2.3K关注 0票数 16

我注意到,当ajax在页面顶部推送某些内容时,jquery scroll事件会自动触发。有专家知道如何避免在添加内容时触发滚动事件吗?但是当用户运行鼠标滚轮,页面向上向下以及键盘向上和向下时,可能会触发滚动事件?

代码语言:javascript
复制
$(window).on('scroll', function () {
        console.log("User manual scrolled.");
    });

基于此示例。https://jsfiddle.net/q00jnv4n/

EN

回答 2

Stack Overflow用户

发布于 2015-04-21 17:02:22

您在代码中使用了window.scrollTop()。它将在jQuery中自动触发滚动事件,因为jQuery在幕后使用window.scrollTo()

您不能取消由此触发的“scroll”事件。但您可以使用黑客来检测在您的'AddContent‘调用window.scrollTop()之后是否调用了滚动事件。您可以通过将AddContent中的布尔变量设置为false来完成此操作。并检查您的滚动事件处理程序中的变量是否为false。如果是false,则将其设置为true,并且不执行任何操作。否则,执行您想要的操作。

我派生了你的jsfiddle并更新了它:JsFiddle

票数 0
EN

Stack Overflow用户

发布于 2015-04-26 06:51:11

这只是一种变通方法,但如果您需要快速修复,则可以在顶部加载新内容后让窗口滚动回按钮。

https://jsfiddle.net/msfq5mx0/

代码语言:javascript
复制
$(window).scrollTo(0,$("#btnAddContent").offset().top);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29693258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档