jquery检测用户交互

Posted

技术标签:

【中文标题】jquery检测用户交互【英文标题】:Jquery detect user interaction 【发布时间】:2013-06-11 21:43:31 【问题描述】:

我有这段代码自动滚动页面并在用户与页面交互时停止动画。这在桌面设备上正常工作,但在 iphone 上不能正常工作。当用户尝试用手指滚动页面时,动画不会停止,直到到达页面底部。我能为此做些什么?谢谢!

$("html,body").stop().animate(scrollTop: $(document).height(), 2000);

// Stop the animation if the user scrolls. Defaults on .stop() should be fine
$("body,html").bind("scroll mousedown DOMMouseScroll mousewheel keyup", function(e)
    $("html,body").stop();
);  

【问题讨论】:

【参考方案1】:

我将它添加到绑定区域,它可以“touchstart touchmove”运行

$("body,html").bind("touchstart touchmove scroll mousedown DOMMouseScroll mousewheel keyup", function(e)
    $("html,body").stop();
);  

【讨论】:

非常聪明的一个【参考方案2】:

如果只需要检测一次,可以使用

$("body,html").one("touchstart touchmove scroll mousemove mousedown DOMMouseScroll mousewheel keyup", function(e)
    console.log('Detected');
);

【讨论】:

以上是关于jquery检测用户交互的主要内容,如果未能解决你的问题,请参考以下文章

在没有用户交互jquery的情况下播放音频

子类 UIScrollView 检测按钮内的触摸,但对用户交互无响应

当 jQuery 对话框打开时,我不希望用户与背景交互

等待ajax响应时如何防止用户交互?

UIAlert 上的用户交互

iOS 14迎来健身交互新方式 支持手势与身体姿势检测