检测用户触发的 jquery 事件或代码调用
Detect jquery event trigger by user or call by code
我有一些window.onscroll
事件
$(window).scroll(function(e){
//My Stuff
});
但在我的代码中,我调用动画滚动到某个地方
$('html, body').stop().animate({
scrollTop:555
}, 1000);
所以我检测页面的方式是按用户滚动或按我的代码调用。我当前的解决方案是在我的代码中调用animate
之前放置一个标志,然后清除它,但这不是聪明的解决方案。我也读过关于检测e.which
或e.originalEvent
的信息,但它不起作用。我认为您的专家在这里有一个很好的解决方案。
$('#scroller').scroll(function(e) {
if (e.originalEvent) {
// scroll happen manual scroll
console.log('scroll happen manual scroll');
} else {
// scroll happen by call
console.log('scroll happen by call');
}
});
$('#scroller').scroll(); // just a initial call
当您通过调用滚动时,e.originalEvent
将undefined
,但当手动滚动时,它将给出scroll
对象。
演示
我重新问了这个问题,得到了2个有用的答案.
我将在这里为找到此线程的其他人链接该问题。
检测滚动事件是否在 jQuery 中手动触发
相关文章:
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- php代码在textbox更改事件上显示null
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- 访问代码生成的输入元素上的keyup事件
- 如何在 JavaScript 代码中调试点击事件处理
- 如何使用我的Jquery代码创建委托事件侦听器
- 如何使用onclick事件触发此代码.我尝试过,但失败了
- 在单击事件中,第一次单击时激发代码一次,其余代码在所有单击时运行
- 为什么动态加载的事件在我的代码中不能正常工作
- 我需要java代码来打开html代码onclick事件
- 使用Javascript代码在文本框上激发退格事件
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 如何在onclick事件执行代码时在ImageButton上设置加载gif
- 在按钮'上运行PHP代码;s onclick事件,或者使用Ajax
- 我想在每个按钮点击事件上加载多个图表.我使用了下面的谷歌代码
- JAVASCRIPT-“;事件内部代码”;超时?o.o
- 键盘事件代码
- 加快我的Javascript滚动事件代码
- 如何为html文本框中的图像编写click事件代码
- jQuery点击事件代码无限重复