2

假设我有在调整窗口大小时运行的 JavaScript,但如果你使用 window.load 或 document.ready,它就不起作用。(我的情况)。

我不是在寻找 window.load 或 document.ready (jQuery) 单独...我正在寻找字面上伪造一个窗口调整大小...以使仅调整大小的脚本加载。

如何在不调整窗口大小的情况下伪造窗口调整大小?

4

2 回答 2

4

如果可能,不要伪造任何东西。这使您的代码更难阅读和理解。像这样重构你的代码:

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);
于 2018-12-20T15:18:18.983 回答
3

只需调用$(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

于 2018-12-20T15:52:02.393 回答