【问题标题】:jQuery window resize errorjQuery窗口调整大小错误
【发布时间】:2016-09-01 12:19:03
【问题描述】:

当我使用 $(window).resize() 时,控制台出现错误

我制作了一支笔来说明正在发生的事情:http://codepen.io/anon/pen/LRYGxK?editors=1111

var bg = $('.inner');
$(window).resize('resizeBackground');

function resizeBackground() {
    bg.height($(window).height() + 60);
    console.log(bg.height());
}
resizeBackground();

我在控制台中得到的错误是:

Uncaught TypeError: ((n.event.special[g.origType] || (intermediate value)).handle || g.handler).apply 不是函数

说实话,我不确定我哪里出错了。

【问题讨论】:

    标签: jquery console.log window-resize jquery-events


    【解决方案1】:

    您可以在调整窗口大小时调用您的resizeBackground 函数,如下所示。

    $(window).resize(function resizeBackground() {
        bg.height($(window).height() + 60);
        console.log(bg.height()); 
     });
    

    工作演示link

    【讨论】:

      【解决方案2】:

      你的问题就这么简单

      ('resizeBackground')
      

      正在传递一个字符串 -

      只需传递函数

      (resizeBackground)
      

      请看这里:http://codepen.io/alexjamesbrown/pen/yaLZzj

      完整示例

      var bg = $('.inner');
      $(window).resize(resizeBackground);
      
      function resizeBackground() {
          bg.height($(window).height() + 60);
          console.log(bg.height());
      }
      resizeBackground();
      

      为了简化它,你可以试试这个:

      http://codepen.io/alexjamesbrown/pen/pEogAL

      var bg = $('.inner');
      $(window).resize(function(){
          bg.height($(window).height() + 60);
          console.log(bg.height());
      });
      

      【讨论】:

        【解决方案3】:

        $(window).resize() 调用需要一个处理函数 - Function(Event eventObject)。

        这样使用

        $(window).resize(function(){
            resizeBackground();
        });
        

        https://api.jquery.com/resize/

        【讨论】:

          【解决方案4】:

          尝试一下类似代码之前的代码:

          var bg = $('.inner');
          
          // If you want that in load (just for explanation)
          $(document).ready(function() {
            resizeBackground();
          });
          // On window resize
          $(window).resize(function() {
            resizeBackground();
          });
          
          // Generic function, called by the callbacks..
          function resizeBackground() {
              bg.height($(window).height() + 60);
              console.log(bg.height());
          }
          <script   src="https://code.jquery.com/jquery-2.2.4.min.js"   integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="   crossorigin="anonymous"></script>
          
          <div class="inner"></div>

          这样你就在“.resize()”回调语法中调用你创建的函数。

          您可以在官方 jQuery 调整大小文档中获得更多信息:https://api.jquery.com/resize/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-04-07
            • 1970-01-01
            • 2016-09-23
            • 1970-01-01
            • 1970-01-01
            • 2013-02-10
            • 1970-01-01
            相关资源
            最近更新 更多