Javascript 为什么';t window.addEventListener(';scroll';,this.someScrollHandler,false)是否可以在IE 10上工作?
我目前正在构建一个带有滚动处理程序的React应用程序,用于在无限滚动组件中加载更多数据。我正在使用window.addEventListener('scroll',this.someScrollHandler,false)代码>(带节流),可在除IE之外的所有浏览器上运行-不处理任何事件 事实上,在IE控制台中测试以下代码,然后滚动,不会导致日志记录:Javascript 为什么';t window.addEventListener(';scroll';,this.someScrollHandler,false)是否可以在IE 10上工作?,javascript,reactjs,internet-explorer,dom-events,Javascript,Reactjs,Internet Explorer,Dom Events,我目前正在构建一个带有滚动处理程序的React应用程序,用于在无限滚动组件中加载更多数据。我正在使用window.addEventListener('scroll',this.someScrollHandler,false)(带节流),可在除IE之外的所有浏览器上运行-不处理任何事件 事实上,在IE控制台中测试以下代码,然后滚动,不会导致日志记录: window.addEventListener('scroll', function() { console.log('testing') }, f
window.addEventListener('scroll', function() { console.log('testing') }, false);
滚动事件和IE发生了什么?这是一个跨浏览器滚动事件侦听器(它禁用滚动,但如果用处理程序替换默认设置,它应该可以工作):
您可以看到有许多不同的处理程序…经过大量调试,问题出在css中。该应用程序是响应性的,因此我们使用了base
overflow-x:hidden
样式,然后在断点后切换到overflow-x:initial
。显然IE不喜欢initial,所以它仍然在接收隐藏的溢出,从而防止触发滚动事件。切换到溢出-x:visible
修复了该问题。我的问题是我的身高为100%,这禁用了滚动事件
body {
height: 100%; // <-- will disable window.addEventListener('scroll')
}
正文{
高度:100%;//您的代码在IE11中为我工作感谢您提供了这些信息,我的问题是一样的!如果任何人的身体高度为100%,请尝试瞄准window
以外的任何其他元素,例如\u元素,其高度不是\u 100。addEventListener('scroll',function(){console.log('testing'),false)这就是我解决这个问题的方法。老兄,你救了我一天!
body {
height: 100%; // <-- will disable window.addEventListener('scroll')
}