我的JS文件很简单
jQuery(function ( $ ) {
// make elements with class 'same-height-as-width' have the self-explanatory property
$(window).resize(function ( ) {
$('.same-height-as-width').each( function ( ) {
var thisElement = $(this);
thisElement.height(thisElement.width());
});
});
window.onscroll = function () {
var body = document.body; //IE 'quirks'
var document = document.documentElement; //IE with doctype
document = (document.clientHeight) ? document : body;
if (document.scrollTop == 0) {
alert("top");
}
};
});
给我带来麻烦的行是 var body = document.body;//IE“怪癖”
。错误
每次滚动时Uncaught TypeError: Cannot read property 'body' of undefined
都会打印到控制台。然而,当我在控制台中输入 document.body
时,该元素显示在控制台中,而不是 undefined
。我还尝试将 window.onscroll
移到 jQuery(function ( $ )
之外,但出现了相同的错误。
最佳答案
那是因为JavaScript variable hoisting ,但不要让您感到太多困惑,不要使用“文档”作为变量的名称
关于javascript - 为什么我收到 "Uncaught TypeError: Cannot read property ' body' of undefined”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31947906/