假设我有在调整窗口大小时运行的 JavaScript,但如果你使用 window.load 或 document.ready,它就不起作用。(我的情况)。
我不是在寻找 window.load 或 document.ready (jQuery) 单独...我正在寻找字面上伪造一个窗口调整大小...以使仅调整大小的脚本加载。
如何在不调整窗口大小的情况下伪造窗口调整大小?
假设我有在调整窗口大小时运行的 JavaScript,但如果你使用 window.load 或 document.ready,它就不起作用。(我的情况)。
我不是在寻找 window.load 或 document.ready (jQuery) 单独...我正在寻找字面上伪造一个窗口调整大小...以使仅调整大小的脚本加载。
如何在不调整窗口大小的情况下伪造窗口调整大小?
如果可能,不要伪造任何东西。这使您的代码更难阅读和理解。像这样重构你的代码:
function onResize(e)
{
// does window.resize stuff
}
$(document).load(function(e){
// when the document is loaded, do resize stuff as well
onResize(e);
});
// add event listener to window.resize
$(window).resize(onResize);
只需调用$(window).trigger('resize');
它将触发调整大小,并且将调用您在调整大小上注册的任何内容。
$(window).resize(function() {
alert("Work done when resize is being called");
});
$(window).resize(function() {
alert("More work");
});
$("*").click(function(){
alert("Triggering resize");
$(window).trigger('resize');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Click anywhere to trigger the resize