【发布时间】:2014-10-13 10:32:58
【问题描述】:
假设我有这个事件处理程序:
var mousewheel = function (e) { /* blah */ };
但是,我想去抖动它。所以我这样做了,它按预期工作:
var mousewheelDebounced = _.debounce(mousewheel, 500);
$(document).on("mousewheel", function (e) {
e.preventDefault();
mousewheelDebounced(e);
}
但是这并没有按预期工作:
$(document).on("mousewheel", function (e) {
e.preventDefault();
_.debounce(mousewheel, 500)(e);
}
我更喜欢第二种形式的紧凑性。但不会发生去抖动。
我假设没有对 mousewheelDebounced 的引用,因此每次都会调用底层处理程序。是这个原因吗?如果可能,我该如何清理这段代码?
你可以看到一个fiddle here。
【问题讨论】:
标签: javascript jquery underscore.js