2014-12-29 23 views
0

我想弄清楚元素是否有省略号。我正在使用this stackoverflow answer.Scroll With!=偏移宽度当没有省略号

当我在IE上测试时,scrollWidth总是大于offsetWidth。即使没有省略号,scrollWidthoffsetWidth大1px。正如预期的那样,Chrome能正常工作。

请检查this example。这会让你在IE和Chrome上看到不同的值。

这是由于在IE中的错误发生?这是一个已知的问题吗?有没有解决办法?

+0

由于IE中的scrollWidth和Chrome中的一样,我会说offsetWidth比scrollWidth小1px。详细信息,Shmetails。 – GolezTrol

+1

看起来像'float:left;'是原因。 [一篇关于IE中offsetWidth的文章](http://vadikom.com/dailies/offsetwidth-offsetheight-useless-in-ie9-firefox4/)可能有用。 – 0x2D9A3

+0

@ 0x2D9A3该文章帮助。 IE似乎正在围绕'scrollWidth'和向下舍入'offsetWidth'。我能够使用'getComputedStyle'获取实际宽度(float val),但找不到实际的'scrollWidth'。 – Zuhaib

回答

-1

你的意思是一个实际的文本省略号或一个CSS?

如果是文本,最好在最后解析元素文本中的三个点。这样的事情:

function hasEllipsis(text){ 
    var regex = /\.\.\.$/; 
    return regex.test(text); 
} 
+1

很明显,这是一个关于'文本溢出'属性省略号的问题......(顺便说一下,这个注释有一个省略号,表示你的正则表达式不匹配) – 0x2D9A3

+0

这是css省略号(文本溢出) – Zuhaib