【问题标题】:jQuery on two events [duplicate]jQuery关于两个事件[重复]
【发布时间】:2017-01-18 11:27:41
【问题描述】:

我希望这个 jQuery 函数在调整大小时运行,以添加页面加载。

jQuery(document).ready(function() {

类似:

jQuery(document).ready OR $(window).resize(function() {

【问题讨论】:

    标签: jquery


    【解决方案1】:

    这可能是您的解决方案。

    当页面为readyresize 页面时,函数runMyFunction 将运行

    $(document).ready(runMyFunction);
    $(window).on('resize', runMyFunction);
    
    function runMyFunction() {
        // do whatever
    }
    

    【讨论】:

      【解决方案2】:

      定义一个命名函数并将其设置为两个事件的回调。

      function callback(){
         // ....
      };
      
      $(document).ready(callback);
      $(window).resize(callback);
      

      【讨论】:

        【解决方案3】:

        初始化 jQuery 的推荐语法是不使用.ready() 函数。

        function toBePerformedOnLoadAndResize(){
          // Your code here
        }
        
        $(function(){
          // The above is the suggested replacement for
          // "$(document).ready(function(){
        
          // Run it now
          toBePerformedOnLoadAndResize();
          // Run it on resize as well
          $(window).resize(toBePerformedOnLoadAndResize);
        
          // Your Other Code
        
        });
        

        来源jQuery API documentation

        从 jQuery 3.0 开始,只推荐$( handler );其他语法仍然有效,但已被弃用。这是因为选择与 .ready() 方法的行为无关,该方法效率低下并且可能导致对该方法行为的错误假设。例如,$( "document" ).ready( handler ) 与不选择任何内容的“文档”一起使用。 $( "img" ).ready( handler ) 等待文档准备好,但暗示(错误地)它等待图像准备好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-02-14
          • 1970-01-01
          • 2012-07-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-08
          相关资源
          最近更新 更多