检测文本溢出:省略号在输入字段上是否处于活动状态
Detect if text-overflow:ellipsis is active on input field
我想知道有没有一种方法可以检测输入字段上的text-overflow:ellipsis
是否处于活动状态,以便我可以显示带有全文的工具提示。
Css:
input[type='text']
{
text-overflow:ellipsis;
}
目录:
<input type="text" onmouseover="Tooltip.Show(this)" value="some long text" />
Javascript:
Tooltip.Show = function (input)
{
// This is where i need the see if the current input show ellipsis.
if ($(input).isEllipsisActive())
{
// Show the tooltip
}
}
BR
安德烈亚斯
请注意,这个问题是关于input
元素的。一个普通的HTML元素(例如,div
)也必须有
white-space: nowrap;
overflow: hidden;
供text-overflow: ellipsis;
申请。(Overflow
也可以是scroll
或auto
。有关详细信息,请参阅此链接。
如果您
想知道输入文本何时太长且隐藏...没有本机支持检查这样的想法。你可以破解它。您可以使用相同的文本制作一个 tmp 容器,查看该容器/文本的宽度并将其与输入的长度进行比较。如果 tmp 容器更长...你的文字太长了。
像这样:
function isEllipsisActive() {
return_val = false;
var text = $('input_selector').val();
var html = "<span id="tmpsmp">" + text + "</span>";
$(body).append(html);
if($('input_selector').width() < $('#tmpsmp').width()) {
return_val = true;
}
return return_val;
}
谢谢亚历山德连科。
刚刚编辑了一点您的解决方案:
function isEllipsisActive(el) {
return_val = false;
var text = el.val();
var html = "<span id='tmpsmp'>" + text + "</span>";
$("body").append(html);
if(el.width() < $('#tmpsmp').width()) {
return_val = true;
}
$('#tmpsmp').remove();
return return_val;
}
相关文章:
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- Angular+bootstrap ui,检查当前选项卡是否已处于活动状态
- 使用jquery检查internet是否处于活动状态
- 查看CSS:invalid选择器当前是否在JavaScript中处于活动状态
- Facebook API - 检测会话是否处于活动状态
- 如何确定当前路由在 React 中是否处于活动状态
- 检查类是否处于活动状态,如果是,请运行外部.js文件?可能
- 检测浏览器选项卡是否处于活动状态或用户是否已切换
- 检查选项卡是否打开为活动状态
- 检查是否有任何输入聚焦或处于活动状态,而不是在表单中
- jQuery webcam/flash:如何检测网络摄像头是否处于活动状态
- 检查按钮是否处于活动状态
- 如何检查浏览器的“mywindow”选项卡在 asp.net 4.0中是否处于活动状态
- Zurb Foundation Top Bar & jQuery - 检查移动导航是否处于活动状态
- 检测文本溢出:省略号在输入字段上是否处于活动状态
- 了解开发者控制台在当前浏览器(JavaScript)中是否处于活动状态
- Firefox API检查选项卡是否处于活动状态
- 是否有任何方法可以检测IE8中该窗口当前处于活动状态
- 检测浏览器窗口是否处于活动状态,并在窗口再次处于活动状态后启动事件[JavaScript]
- 检查选项卡是否存在并使其处于活动状态;否则创建它