我希望jQuery.fn.resize
的内容仅在我放开鼠标按钮后执行,而不是在调整窗口大小时。
我已经尝试过将onmousedown放在resize中,但它没有用。
$(window).resize(function(){
console.log("resizing")
});
答案 0 :(得分:1)
您无法知道文档外发生了什么,并且在调整大小结束时您不会收到通知(调整大小可能以多种方式发生,而不是所有基于鼠标的方式)。
但你可以为同样的效果添加一个计时器:
(function(){
var timer;
$(window).resize(function(){
if (timer) clearTimeout(timer);
timer = setTimeout(function(){
// do the things
}, 200);
});
})();
这会增加一点延迟(200毫秒应该可以),但这样可以避免大多数中间重新计算。
请注意,当您的javascript函数正在运行时,您不会收到事件,因此除非您真的希望用户在调整大小期间看不到任何内容,否则通常不必执行此操作。