如何确定 HTML 输入文本太长而无法完全显示?

How determine HTML input text is too long to be displayed entirely?

提问人:Dmitry Kaigorodov 提问时间:8/1/2023 最后编辑:Dmitry Kaigorodov 更新时间:8/1/2023 访问量:198

问:

如何检测用户提供的比HTML长的文本是否能够完全显示?<input>

javascript html css dom 输入

评论


答:

1赞 Vindicated 8/1/2023 #1

您可能正在寻找属性,该属性可以按如下方式设置:maxlength

<input type="text" maxlength="LENGTH HERE">

至于您使用的最大长度,这取决于元素的大小。我建议您猜测并检查,直到找到最适合您的用例的值。input

评论

0赞 Dmitry Kaigorodov 8/1/2023
我正在寻找视觉属性来检测溢出。 不是吗。但无论如何,谢谢你maxlength
0赞 scorpian111 8/1/2023 #2

首先检索您的inputquerySelector

const sample=document.querySelector("specificInput")

然后按属性访问其中的文本value

const text=sample.value;

如果要检查每个单词的宽度,请使用方法将单词彼此分开并将其存储在数组中。split()

const wordArray=text.split(" ");

(在 split() 中,您应该使用空格,因为在这种情况下,您只检索单词)

但是,如果您想要整个文本,则可以跳过该部分。split()

然后用于检查文本或单词的宽度(如果要检查单词的宽度,因为它们存储在数组中,因此应该遍历数组以检查它们的宽度)measureText().width

最后,使用一个条件来检查单词或文本的宽度是否大于特定区域,如果文本或单词的宽度大于特定区域的宽度,则可能溢出。if

(当我说“可能”时,这是因为我不知道你在设计什么,例如在一个简单的容器中,如果文本大于容器,文本溢出不会发生,文本最终会换行,但如果单词大于容器,它就会溢出)。div

评论

0赞 Reporter 8/1/2023
嗯,规范说仅适用于可用的画布元素。还是我错了?measureText()
0赞 scorpian111 8/1/2023
如果您不熟悉这种方法,请使用 property 来计算文本的宽度或word.@ReporterclientWidth