【发布时间】: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