以下代码适用于Firefox浏览器.但是,不是铬.下面的代码有什么问题?
window.onload = function()
{
document.body.onscroll = Test.callFn;
}
var Test = new function()
{
this.callFn = function()
{
console.log("Calling this function");
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
您不希望()在分配callFn为onscroll处理程序时.
您不想执行该功能,您想为其分配引用.
此外,onscroll对整个文档似乎在window对象上更好地跨浏览器,而不是document或document.body.
window.onscroll = Test.callFn;
Run Code Online (Sandbox Code Playgroud)
我今天遇到了类似的问题.你可以document.body改为window:
window.onload = function()
{
window.onscroll = function()
{
console.log("Calling this function");
}
}
Run Code Online (Sandbox Code Playgroud)
我注意到chrome onscroll事件在body元素具有onscroll属性时正在工作,但在IE中它在html元素具有onscroll属性时工作,因此最好将onscroll事件侦听器分配给window对象.
PS.如果你想检查滚动的像素数 - 使用window.pageYOffset而不是document.body.scrollTop(与上面描述的chrome和IE相同的情况).
在 Chrome 中,如果将事件处理程序附加到document.onscroll事件,它就会起作用:
document.onscroll = function() { console.log('Works in Chrome!'); };
| 归档时间: |
|
| 查看次数: |
18011 次 |
| 最近记录: |