Javascript jQuery scrollTo仅在Chrome 61之后工作
我正在做一个角度为2/4的项目,我必须向上滚动以防每次导航更改。。。这很复杂,因为我使用了sidenav(角度材料)和很多其他东西。 我刚刚遇到了一个非常恼人的问题,如下所示:Javascript jQuery scrollTo仅在Chrome 61之后工作,javascript,jquery,angular,google-chrome,angular-material,Javascript,Jquery,Angular,Google Chrome,Angular Material,我正在做一个角度为2/4的项目,我必须向上滚动以防每次导航更改。。。这很复杂,因为我使用了sidenav(角度材料)和很多其他东西。 我刚刚遇到了一个非常恼人的问题,如下所示: this.router .事件 .filter(事件=>NavigationEnd的事件实例) .订阅(()=>{ const contentContainer=document.querySelector(“.mat drawer content”); contentContainer.scrollTo(0,0); }
this.router
.事件
.filter(事件=>NavigationEnd的事件实例)
.订阅(()=>{
const contentContainer=document.querySelector(“.mat drawer content”);
contentContainer.scrollTo(0,0);
});
如果子组件之间有任何导航,甚至我导航到其他地方(到同级路由),它也会向上滚动。
它在Firefox和更新版本的Chrome(>=61)中正常工作,但不幸的是,如果我使用Chrome 60或59(尚未测试任何其他版本),它会抛出以下异常
Error:Uncaught(承诺中):TypeError:e.scrollTo不是函数
我使用预构建的jQuery 2.1.1,在我搜索这个问题时,ChromeV61似乎有了突破性的变化。但我的问题恰恰相反:它适用于更高版本,而不适用于较低版本
有可能使它在每个(相关的)Chrome版本上都工作吗?实际上不是一个jQuery函数,它是在JavaScript中定义的,不能在元素上调用scrollTo()
,它是一个只在窗口对象中定义的方法,这就是为什么e.scrollTo不是一个函数的原因
您只能在窗口中调用它,如下所示:
window.scrollTo(0, 0);
如果您检查,您将看到:
有关滚动元素的信息,请参见和
这不是jQuery的东西,它是香草JS。我认为它实际上只是你可以在窗口触发的东西
?也许你是对的。。我有几个关于window的电话。滚动到(0,0);。。为什么你认为这是问题所在,而不是我所提到的谢谢,我明天会用其他版本的Chrome进行测试!非常感谢。即使使用较低版本的Chrome,它也能正常工作!!