有没有人知道是否有更有效的方法来处理重复功能而不是Cowboy的Throttle plugin?我已经使用它一段时间而且喜欢它,但是在过去的几年中,还有其他任何脚本/创新可以更有效地处理这项任务吗?
作为参考,任务的示例可以是在浏览器调整大小时触发的函数。传统上,我会这样处理:
$(window).resize($.throttle(250, true,
function() {
$(window).trigger('onResizeBegin');
}
));
以上限制了所包含的功能触发的次数等。我很想知道是否有更好的方式来听这些类型的重复检查。在这种情况下,可能是浏览器拖动开始/停止时的承诺,而不是一个不断检查true / false的函数。
答案 0 :(得分:0)
另一种方法
$(window).resize($.throttle(250, true,
function() {
$(window).trigger('onResizeBegin');
}
));
将是
function onResize() {
setTimeout(function() {
$(window).one('resize.throttled', onResize);
}, 250);
$(window).trigger('onResizeBegin');
)
$(window).one('resize.throttled', onResize);
因此在中间时间内根本不会触发resize事件。
.one()
是一个jquery事情,只会使事件触发一次。