window.scrollTo(0,0) - 对象不是函数

时间:2014-06-20 18:20:02

标签: jquery

为什么我收到此错误?

在控制台中,我可以在错误处放置调试器并输入:

window
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
window.scrollTo(0,0)
TypeError: object is not a function

为什么我在这里收到错误?前几天工作正常。

以下是代码:

(function ($) {
  $(document).ready(function () {
    $('#customer-info-submit').click(function(e){
      e.preventDefault();
      var form = $('form#customer_information');
      var i = 0;
      $.each(required_fields, function(field, response) {
        i++;
        if( '' == $('#'+field).val() ) {
          debugger;
          $(gateway_message).html(response);
          window.scrollTo(0,0);
          return false;
        }
        console.log(i);
        if( i == 9 ) {
          debugger;
        }
        if( i == 12 ) { // 12 is the count of attributes of required fields
          if( !$('#terms_agreement').is(':checked') ) {

            $(gateway_message).html('You did not accept the Terms and Conditions.');
            window.scrollTo(0,0);
          } else {
            form.submit();
          }
        }
      });
      return false;
    });
  });
}(jQuery));

1 个答案:

答案 0 :(得分:-1)

我认为您的jQuery版本使用scrollTop(0)而不是scrollTo(0)http://api.jquery.com/scrolltop/

e.g。 $('body').scrollTop(0);

当您使用window.scrollTo(0,0)时,我尝试使用Chrome F12调试器窗口并且工作正常。

旁注:

使用快捷方式DOM ready事件处理程序组合您的IIFE(仅保证$ scope)和$(document).ready();

e.g。

jQuery(function($){
       // your jQuery code using $
});

jQuery将jQuery实例(本身)作为快捷方式DOM就绪处理程序中的第一个参数传递。