检测是否在jQuery中手动触发了滚动事件

BluBb_mADe

很久以前在这里已经问过这个问题:

按用户检测jquery事件触发或按代码检测

但是,从来没有一个定论的答案(或者也许我根本无法正确搜索)。

是否可以检测scroll事件是由用户触发还是由jQueryanimate函数触发的

我试图防止scroll事件在执行以下操作时触发自身:

$(document).scroll(function(){
    $("html").stop(true);
    var number = 400; //some other stuff is happening here
    clearTimeout(tout);
    tout = setTimeout(function(){
        if(top == $(document).scrollTop()){
            $("html").animate({
                scrollTop: (number),
                easing: "easeInQuad",
                duration: 110
            });
        }
    },120);
});

这段代码似乎是合适的:

$('#scroller').scroll(function(e) {
    if (e.originalEvent) {
        console.log('scroll happen manual scroll');
    } else {
        console.log('scroll happen by call');
    }
});

但是originalEvent对象无法正确检测到动画触发。

还有其他方法吗?

托尼

也许:animated选择器可以帮助您:

$('#scroller').scroll(function(e) {
    if ($(this).is(':animated')) {
        console.log('scroll happen by animate');
    } else if (e.originalEvent) {
        // scroll happen manual scroll
        console.log('scroll happen manual scroll');
    } else {
        // scroll happen by call
        console.log('scroll happen by call');
    }
});

演示版

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用jQuery手动更改广播组时触发了两次更改事件

来自分类Dev

手动触发DOM元素的滚动事件?

来自分类Dev

使用jQuery来检测用户是否手动滚动了页面(通过键盘,鼠标滚轮等)

来自分类Dev

在discord.py中手动触发事件

来自分类Dev

如何在jqgrid中手动触发onclicksubmit事件?

来自分类Dev

在DataGridView中手动触发按钮单击事件

来自分类Dev

如何手动触发更改事件?

来自分类Dev

手动触发骨干视图事件

来自分类Dev

如何手动触发事件

来自分类Dev

手动触发div的click事件

来自分类Dev

手动触发触摸事件

来自分类Dev

手动触发div的click事件

来自分类Dev

MelonJS触发事件手动

来自分类Dev

手动触发“after UoW”事件

来自分类Dev

手动触发 AWS CloudWatch 事件

来自分类Dev

检测是否手动调用AuthorizationAttribute

来自分类Dev

我可以以编程方式确定是否安排了Airflow DAG还是手动触发了它?

来自分类Dev

是否需要手动删除手动添加到React组件中的元素的事件侦听器?

来自分类Dev

如何在空的td标签上从JavaScript(不是jquery)手动触发onmousedown事件

来自分类Dev

如何手动将值(并触发select事件)设置为jQuery自动完成

来自分类Dev

在手动触发的事件jQuery上发送多个值

来自分类Dev

jQuery事件未在手动添加的元素上触发

来自分类常见问题

如何在ReactJS中手动触发点击事件?

来自分类Dev

手动触发敲除视图模型页面中其他DOM元素上的click事件

来自分类Dev

手动触发HTML5中视频标签的全屏按钮单击事件

来自分类Dev

手动触发窗口对象上的事件

来自分类Dev

手动触发wx.EVT_SIZE事件

来自分类Dev

手动触发AngularJs ng-change事件

来自分类Dev

手动触发汇总事件,高图

Related 相关文章

热门标签

归档