javascript - 使用 `<span>` 技巧检测文本宽度时不包括空格

标签 javascript jquery

我实现了一个 jQuery 插件来纠正 <input/> 的宽度元素取决于它们有多少文本,如下所示:

$.fn.correctWidth = function () {
    var tempSpan = $('<span>')
        .html(this.val())
        .css('font-size', this.css('font-size'))
       .insertBefore(this);
    this.width(tempSpan.width());
    tempSpan.remove();
    return this;
};

问题是,有时,<span>元素的宽度远大于实际文本宽度。

这个偶尔出现的问题似乎是因为检测到的宽度包括文本末尾和行尾之间的空白。

如何确保不包含空格?有替代方法吗?

最佳答案

尝试改变

  this.width(tempSpan.width());

  this.width(tempSpan.innerWidth());

关于javascript - 使用 `<span>` 技巧检测文本宽度时不包括空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7290820/

相关文章:

java - 如何在其中任何一个 jqgrid 发生更改后重新加载页面上的所有 jqgrid

javascript - 如何检查模型中已创建的条目?

javascript - JQuery 数据表在输入中搜索并选择

javascript - 创建具有 onClick 效果的幻灯片。在 Fiddle 中有效,但在我的网站中无效

jquery - 没有内容的div高度

jquery - 如何使用 :input in jquery? 排除只读字段

javascript - AngularJS 从 Spring REST API 读取 JSON

javascript - jQuery - 设置附加数量限制

javascript - this 关键字在对象字面量的嵌套函数中

Javascript - 如何销毁对象并克隆属性?