我在更改包含的文本后获取标签的大小时遇到问题。我目前有一个我远远不满意的解决方案。这就是我所拥有的(对 CoffeeScript 表示歉意,()=> 表示 function(){})
@textField = $('<'+tag+'></'+tag+'>')
@textField.html(text).delay(120).queue(()=>
@textField.ready(@onTextReady)
)
如果我删除延迟,就没有 height(),我也不能使用 window.load,并且 @textfield.load 似乎什么也没做。
您对解决此问题的最佳实践有何看法?
非常感谢
/一个
最佳答案
据我所知,元素在添加到 DOM 之前没有大小。更重要的是,我认为尺寸和显示都没有问题。如果您只对大小感兴趣,而不是实际将元素添加到 DOM,我建议您考虑可见性。
var $textField = $('<div>').text("FOO").css({
visibility: "hidden",
position: "absolute",
display: "block"
}).appendTo($("body"));
var height = $textField.height();
$textField.remove();
alert(height);
关于javascript - 更改文本后的 jQuery 高度段落就绪事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14954577/