我正在尝试offset()
使用 jQuery 获取“this”的滚动事件中的值,但为this
.
我的特定用例的代码,并对发生的情况进行了评论:
$canvas_frame.contents().find(".ar4 .Tm.aeJ").scroll(function(event){
log("SCROLLING!");
log(this); // successfully logs the DOM element in the console
log($(this).offset()); // ERROR
log($(this).css("top")); // works
});
};
因此,虽然所有元素都被成功检测到,但在 jQuery 选择器元素上调用 .offset() 方法会失败:Uncaught TypeError: Cannot read property 'pageYOffset' of undefined
我怎样才能在不失败的情况下获得该价值?
更新
我已更正此示例实际收到的错误消息。
更新 2
我注意到的是,将元素记录到控制台需要一点时间,好像最初 jQuery 结果是空的,但后来它被填充了。有什么想法吗?
更新 3
我用 JSFiddle 创建了一个演示,它在一个简单的页面中工作。http://jsfiddle.net/victorbstan/PBfNu/ 但是,我的代码试图在 iframe 中查找元素,脚本通过 Chrome 扩展嵌入到页面中。我仍然想知道为什么我的代码不起作用。