【问题标题】:TypeError element.offset is not a function in JS fileTypeError element.offset 不是 JS 文件中的函数
【发布时间】:2019-07-10 00:35:10
【问题描述】:

我有一个使用 Zendesk 支持聊天小部件的网站,但该小部件在移动设备上不起作用。在控制台中,我可以看到在我们的一个 JS 文件中存在错误:

TypeError: element.offset 不是函数

这会触发网络小部件代码中的其他错误,导致它无法加载。

然而,在我们的 JS 文件中,似乎定义了“元素”,所以我不确定是什么导致了问题。

这是我认为元素定义的地方:

$.tools.validator.fn('#some_code', "This is the text", function(input, value) {
var element = $('#' + input.attr('data-match-field'));
return element.size() == 0 || element.val() == value;
});

这是同一文件中进一步发生错误的地方:

function scrollTo(element) {
$("html, body").animate({scrollTop:element.offset().top}, 'ease');
}

我希望你们都可以帮助我弄清楚我缺少什么。提前致谢。

【问题讨论】:

  • scrollTo 函数在哪里被调用?也许您传递的是 HTMLElement 而不是 jquery 对象(您可以尝试使用$(element).offset()
  • 我实际上没有发现 scrollTo 函数的任何用途。我尝试在该特定文件中将其注释掉,一切似乎都在起作用。我确实尝试将其更改为 $(element).offset(),但仍然遇到相同的错误。
  • 感谢 arieljuod,我通过了一个类而不是一个对象。

标签: javascript ruby-on-rails function typeerror scrolltop


【解决方案1】:

在@arieljuod 提示后,我搜索了 scrollTo 的实例,但没有找到任何正在使用的实例。我最终注释掉了那个函数,错误就消失了。

【讨论】:

    猜你喜欢
    • 2016-06-19
    • 2016-10-02
    • 2020-12-23
    • 2016-07-11
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    相关资源
    最近更新 更多