Javascript 检测输入字段上的文本溢出:省略号是否处于活动状态
我想知道是否有一种方法可以检测Javascript 检测输入字段上的文本溢出:省略号是否处于活动状态,javascript,tooltip,ellipsis,css,Javascript,Tooltip,Ellipsis,Css,我想知道是否有一种方法可以检测文本溢出:省略号在输入字段上处于活动状态,这样我就可以显示带有全文的工具提示 Css: Html: BR 安德烈亚斯 请注意,这个问题是关于input元素的。普通HTML元素(例如,div)也必须具有 white-space: nowrap; overflow: hidden; 对于文本溢出:省略号以应用。(溢出也可以是滚动或自动)有关详细信息,请参阅。如果您想知道输入文本何时过长且隐藏。。。没有对检查这样的想法的本地支持。你可以破解它。您可以使用相同的文本创建
文本溢出:省略号
在输入字段上处于活动状态,这样我就可以显示带有全文的工具提示
Css:
Html:
BR安德烈亚斯
请注意,这个问题是关于
input
元素的。普通HTML元素(例如,div
)也必须具有
white-space: nowrap;
overflow: hidden;
对于
文本溢出:省略号代码>以应用。(溢出
也可以是滚动
或自动
)有关详细信息,请参阅。如果您想知道输入文本何时过长且隐藏。。。没有对检查这样的想法的本地支持。你可以破解它。您可以使用相同的文本创建一个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;
}
函数isEllipsisActive(){
返回值=false;
var text=$('input_selector').val();
var html=“”+文本+”;
$(正文).append(html);
if($('input_selector').width()<$('tmpsmp').width()){
返回值=真;
}
返回值;
}
谢谢Aleksandrenko
只需编辑一点您的解决方案:
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;
}
功能是智能的(el){
返回值=false;
var text=el.val();
var html=“”+文本+”;
$(“正文”).append(html);
如果(el.width()<$('#tmpsmp').width()){
返回值=真;
}
$('#tmpsmp')。删除();
返回值;
}
如果应用程序中有复杂的css规则,它将无法工作。
white-space: nowrap;
overflow: hidden;
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;
}