javascript - 滚动功能不适用于 Chrome

标签 javascript

以下代码适用于 Firefox 浏览器。但是,不是 Chrome 。下面的代码有什么问题?

window.onload = function()
{
   document.body.onscroll =  Test.callFn;
}

var Test = new function()
{
   this.callFn = function()
   {
      console.log("Calling this function");
   }
}

谢谢

最佳答案

我今天遇到了类似的问题。您可以将 document.body 更改为 window:

window.onload = function()
{
   window.onscroll = function()
   {
      console.log("Calling this function");
   }
}

我注意到在 chrome 中 onscroll 事件在 body 元素具有 onscroll 属性时起作用,但在 IE 中它在 html 时起作用元素有onscroll属性,所以最好将onscroll事件监听器分配给window对象。

附言。如果您想检查滚动了多少像素 - 使用 window.pageYOffset 而不是 document.body.scrollTop(与上述 chrome 和 IE 的情况相同)。

关于javascript - 滚动功能不适用于 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17016740/

相关文章:

javascript - 绘制透明形状时覆盖在 Canvas 上绘制的内容

javascript - 将数组传递给 setData() 函数时出现问题

javascript - 如何使用(选择学生)类(class)条件对学生进行序列化

javascript - 在 $(window).resize() 上有条件地切换 CSS

javascript - 按两个字段对 JSON 对象进行排序

JavaScript 继承。如何扩展类

javascript 函数在 firefox 中工作但在 google chrome 中不工作

javascript - 使用 nvd3.js 的实时线图

javascript - 从插件拦截 Firefox 中的 keyup 事件

php - 简单的Javascript MYSQL校验函数