美文网首页
input文本溢出显示省略号

input文本溢出显示省略号

作者: 佛系码农 | 来源:发表于2018-07-27 20:03 被阅读0次

    1、css有input超出文本显示省略号的样式:
    overflow: hidden;
    text-overflow:ellipsis;
    white-space: nowrap;

    但是这种方式实现有两个弊端:
    1)不能实现:文本没有溢出不显示title,只有当文本溢出时才显示title
    2)当文本输入框disabled状态时,鼠标仍可拖动input内文本,拖动幅度较大时,输入框显示为空白

    2、采用jQuery/Js实现文本溢出显示省略号方式
    var resultName = 0; //定义全局变量
    //使用
    resultName = 0;
    var copyPageElement = ("<input value=" + newName + ">").css({ width: "150px" });//设置和页面上input元素同宽 var pageElementWidth = copyPageElement.width();//获取页面上input元素实际宽度 var adaptingName = getAdaptingName(newName, pageElementWidth);//调用下方函数,返回自适应文本 function getAdaptingName(name, currWidth) {//递归方法 var trueEle =("<pre>" + name + "</pre>").css({ display: 'none' });//定义和页面上input元素文本一致的元素,并且设置dispaly:'none',即元素宽度显示所有文本
    $("body").append(trueEle);
    if (currWidth < trueEle.width()) {//实际宽度小于全显示宽度
    trueEle.text(trueEle.text().substring(0, trueEle.text().length - 3));
    resultName = trueEle.text()+"....";
    trueEle.remove();
    return getAdaptingName(trueEle.text(), currWidth);//开始递归,直到trueEle元素的宽度不大于currWidth
    } else {
    trueEle.remove();
    if (resultName !== 0) {
    return resultName;
    } else {
    return name;
    }
    }
    }

    image.png image.png

    相关文章

      网友评论

          本文标题:input文本溢出显示省略号

          本文链接:https://www.haomeiwen.com/subject/meagpftx.html