我在页面上有一个块元素的集合。它们都有CSS规则white-space, overflow, text-overflow设置,以便溢出的文本被修剪并使用省略号。
但是,并非所有元素都溢出。
有没有办法,我可以使用javascript来检测哪些元素溢出?
谢谢。
添加:示例HTML结构我正在工作。
<td><span>Normal text</span></td>
<td><span>Long text that will be trimmed text</span></td>
SPAN元素总是适合单元格,它们应用了省略号规则。我想检测何时将省略号应用于SPAN的文本内容。
所有的解决方案并没有真正为我工作,什么工作是比较元素scrollWidth其父(或子,取决于哪个元素有触发器)的scrollWidth。
当子进程的scrollWidth大于父进程的scrollWidth时,就意味着.text-省略号是活动的。
当el是父元素时
function isEllipsisActive(el) {
let width = el.offsetWidth;
let widthChild = el.firstChild.offsetWidth;
return (widthChild >= width);
}
当el是子元素时
function isEllipsisActive(event) {
let width = el.offsetWidth;
let widthParent = el.parentElement.scrollWidth;
return (width >= widthParent);
}