javascript - 更改文本后的 jQuery 高度段落就绪事件

标签 javascript jquery events load ready

我在更改包含的文本后获取标签的大小时遇到​​问题。我目前有一个我远远不满意的解决方案。这就是我所拥有的(对 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/

相关文章:

javascript - 悬停在另一个类上时如何更改一个类的CSS?

javascript - 如何从 Webpack 构建的*外部*同步要求 Webpack 构建模块

javascript - 在事件回调中获取对模型的引用

jquery - 如何在CKEditor中添加IFrame工具?

c# - Winform布局完成后触发事件

javascript - React Native - 显示键盘并渲染其值而不使用输入

javascript - Jquery 在 DOM 中查找字符串并获取他的元素

php - 使用 PHP Jquery 将音频上传到文件夹

c# - C# 应用程序中的事件语法与委托(delegate)语法

在文本框失去焦点之前,jQuery 文本框更改事件不会触发?