我想要的是
根据 CURRENT 内容确定准确的 .results div 的高度。
背景
当我浏览我的网站时,结果 div 会根据搜索等动态内容进行更新。我能够获得结果 div 的高度,但这只是我可以获得的初始值。
更新 div 的代码
$results.unbind();
$results.empty();
$results.html(newContents);
我试过的
请注意,我打印出这些值,以便我可以在 firebug 中检查它。
var $results = $('.results'); /* Prints out: */
console.log($results.height()); /* 18 */
console.log($results[0].scrollHeight); /* 18 */
console.log($results[0].clientHeight); /* 18 */
console.log($results.css('height'); /* 18px */
console.log($results.attr('height'); /* undefined */
高度远远超出页面底部,因此 18px 绝对不准确。我如何获得真正的价值?
可能的解决方案?
ryanulit 帮助我弄清楚 .height() 应该适合我正在做的事情。所以这导致我认为正确处理事件存在一些问题。应用程序中有很多地方返回 false 而不是调用 event.preventDefault()。问题是当你返回 false 时,除了 event.preventDefault() 之外,它还会调用 event.stopPropagation()。
更新
我没有找到任何似乎会影响高度的 return false 。但是,我确实发现直接在 html 中使用 style="height:0px;" 设置高度 正确更新高度。我不知道还能尝试什么,所以我现在很难过......