【发布时间】:2016-02-10 19:25:47
【问题描述】:
我试图触发滚动事件。 并发现这个简单的任务并没有那么简单。
使用 jQuery v1.9.1 代码
var win = $(window);
win.on("scroll", function(){
console.log("running");
});
// trigger the scroll event
win.trigger("scroll"); //no success
// change the scrollTop to +1
win.scrollTop(win.scrollTop()+1) //no success
// change the scrollTop to -1
win.scrollTop(win.scrollTop()-1) //no success
// change the scrollTop to +2
win.scrollTop(win.scrollTop()+2) //fires twice
// change the scrollTop to +1.7
win.scrollTop(win.scrollTop()+1.7) //fires twice
是否有正确可靠的方法来触发滚动事件? 见 jsFiddle https://jsfiddle.net/u9dygoxf/1/
【问题讨论】:
-
win.trigger("scroll");为我写日志行... -
触发事件处理程序的正确方法是
.trigger("scroll"),而不是更改属性。 -
你所有的例子都对我有用——我在这个页面的控制台上运行它们。您是否有可能忘记在页面中加载 jQuery?
-
不,事实证明我的测试没有完全隔离..抱歉
标签: javascript jquery events scroll