jQuery计算文本宽度和input标签根据输入字符动态自适应宽度的实现

jQuery计算文本宽度的原理是利用html提供的<pre>标签,向dom中动态添加<pre>标签,标签里的内容就是要测试长度的文本,获取完长度之后再删除刚才添加的<pre>标签,从而可取到文本的大概长度了。为什么要用标签而不用其他标签呢,那来看看<pre>标签的特性吧:pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符;而文本也会呈现为等宽字体。 <pre>标签的一个常见应用就是用来表示计算机的源代码。需要注意的地方是,计算文本长度时文本里面最好不要有其他标签。以下是实现代码:

//获取文本宽度
    var textWidth = function(text){
        var sensor = $(‘<pre>‘+ text +‘</pre>‘).css({display: ‘none‘});
        $(‘body‘).append(sensor);
        var width = sensor.width();
        sensor.remove();
        return width;
    };

有了上面这个函数,input标签根据输入字符动态自适应宽度的实现就简单了:

//input宽度自适应
    $("input").unbind(‘keydown‘).bind(‘keydown‘, function(){
        $(this).width(textWidth($(this).val()));
    });
时间: 2025-01-02 06:51:27

jQuery计算文本宽度和input标签根据输入字符动态自适应宽度的实现的相关文章

关于在input标签中输入数字的问题(正则表达式)

在项目开发中遇到文本框限制输入内容的问题,自己在网上找了找,又加了点自己的,简略写出了几个,在这写一下,希望对其他人有所帮助. 可在input标签中根据情况加入属性: 情况1:需要只能输入数字: onkeyup='this.value=this.value.replace(/\D/gi,"")' 情况2:需要只能输入小数(牵扯到金额等): onkeyup="this.value=(this.value.match(/\d+(\.\d{0,2})?/)||[''])[0]&qu

div自适应宽度

对于div自适应宽度,网上的说法基本上都是将要自适应宽度的div放在其它固定宽度的最后,不指定其float属性或将float属性指定为none,比如三栏布局居中的一栏为自适应宽度,就可以这样来定义三栏div: <div id="left" style="float:left;width:100px;">这是左栏</div> <div id="right" style="float:right;width:1

Jquery 自适应宽度的input

最近按老大嘱咐,在学一些奇奇怪怪的东西,gulp,sass,react啥的... 还在做一个仿QQ邮箱的添加联系人的那个东西. 对,就是这个. 我本来对这个的操作只有可以选人,可以删除选中的人... 但是!!!' 开始做了之后,才发现哪里有我想的那么简单!!! 被卖了!!! 这里,主要是做一个所谓的自适应宽度的input框. 我纠结了很久. 只有一个思路:获取input框里的值的宽度,再去给width宽度! 就是因为这个思路! 中断了一个月. 思路出问题了. 一个月后的我,也就是现在,在网上找了

jQuery实现限制input框 textarea文本框输入字符数量的方法

<!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery实现限制input框 textarea文本框输入字符数量的方法</title> </head> <script src="http://j2.58cdn.com.cn/js/jquery-1.8.3.js"></script>&l

input标签的accept属性、JQuery绑定keyDown事件

一. input标签的accept属性 当我们上传文件或者注册上传头像时,我们可以一般都是使用: <input type="file" id="my_file"> 但是这样的话,所有文件都会显示出来,这里以上传头像为例,一点击选择文件,所有跟图片无关的文件也会显示出来: 这时可以给input标签增加一个accept属性,让它只显示图片相关的文件: <input type="file" id="my_file"

计算文本所占区域(字符串宽度,高度)

CRect GetTextRect(IN CDC* pDC,IN LPCTSTR lpText) { CRect rcText; //计算文本所占区域 pDC->DrawText(lpText,-1,&rcText,DT_CALCRECT); return rcText; }

在IE 和Chrome里用Jquery Disable input 标签

最近做项目遇到一个需要Disable Input 标签的工作,发现有些写法在IE 和Chrome 里面不兼容.查了一下,有以下写法比较兼容: $("#xxx").find(":input").attr('disabled',true); xxx 为你需要disable 的input 的范围,即这些input 的外层包裹.该方法请测有效

HTML简单登录和注册页面及input标签诠释

今天第一次接触HTML这种语言,虽然不能完全理解其中的意思,过去学的英语单词几乎也忘了差不多了,但是感觉进入这门语言学习之后就没有那么难了,一步一步来吧!下面巩固下今天学内容: HTML是一种超文本标记语言.HTML 标签是由尖括号包围的关键词,比如 <html>.HTML 标签通常是成对出现的,比如 <b> 和 </b>: <html> 与 </html> 之间的文本描述网页: <body> 与 </body> 之间的文

10、表单元素之input标签属性(中)

一.type属性总汇 input元素可以用来生成一个供用户输入数据的简单文本框.在默认的情况下,什么样的数据都可以输入.而通过不同的属性值,可以限制输入的内容.            属性名称                                       说明 text 一个单行文本框,默认行为 password 隐藏字符的密码框 search 搜索框,在某些浏览器键入内容会出现叉标记取消 submit.reset.button 生成一个提交按钮.重置按钮.普通按钮 number.