当控件内字符串大小 超过 控件字符显示区域 大小,就发生了truncation。

表现在Web应用中,就是HTML中的某个元素(控件)与元素value(字符)的大小不符,如下图所示。

根据[1]中给出的方法,可以得到文本的宽度。它是将文本构造成一个带hidden属性的div,然后获取其CSS属性来得到宽度的。
这里比较关键的就是获取浏览器默认font属性的方法。要注意不同浏览器中不同元素的默认font是不一样的,chrome下input元素的默认font-size是13.3333px,默认font-family是Arial。而div元素的默认font-size是16px,默认font-family是Times New Roman。可以用jQuery得到这些参数:

$('input').css('font-size');
$('input').css('font-family');
为了测试[1]中的方法检测的准不准,在Chrome中将input元素的字符宽度调整为检测值152px后,input元素的truncation消失了。

本文测试源代码:

</head> <input id="btn" type="button" value="hello html truncation issue" style="width:150px"></input> <script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript"> String.prototype.width = function(font) { var f = font || '12px arial', o = $('<div>' + this + '</div>') .css({'position': 'absolute', 'float': 'left', 'white-space': 'nowrap', 'visibility': 'hidden', 'font': f}) .appendTo($('body')), w = o.width(); o.remove(); return w; $(document).ready(function(){ ele = document.getElementById('btn'); //get input element default font properties ele_font_size = $('input').css('font-size'); ele_font_family = $('input').css('font-family'); console.log("hello html truncation issue".width( ele_font_size + " " + ele_font_family)); </script> </body> </html> 这是测试字符串“Segment” 长度 HTML 代码, fontSize = ‘30px’。 替换字符,浏览器打开. html 文件,F12打开开发者模式,查看log,就能看到字符串的 长度 。 <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title&gt... = 40}"> ${fn:substring(siteBoardInfoList.boardUrl,0,20)}......${fn:substring(siteBoardInfoList.boardUrl,fn:length(siteBoa HTML 5常见的取值与单位 长度 单位包括相对 长度 单位包括:em, ex, ch, rem, vw, vh, vmax, vmin绝对 长度 单位包括:cm, mm, q, in, pt, pc, pxch: 数字 “0”的宽度em:相对于当前对象内 文本 的字体尺寸。如当前对行内 文本 的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。ex:相对 长度 单位。相对于字符“x”的高度。通常为字体高度的一半。如当前对行... 今天学习jQuery,做练习计算 html 标签textarea字符 长度 ,先添加一个视图操作(Action):创建一个视图,并按下面顺序标记1,2,3进行写 html 或javascript脚本:其 标记3的详细script:演示看看:其实,我们计算字符 数字 ,一般不会这样去应用,而是因为限制字符 长度 ,才添加这样的功能,让用户知道当前已经输入了多少个 数字 了。我们对程序再改一下:演示:这个计算,需要用户去点击... javascript 获取 字符串的字符个数主要是根据字符串的变量,然后通过.length就可以 获取 到字符串的 长度 。JavaScript 可以使用length属性来提取字符个数。length:length 属性返回字符串的 长度 (字符数)。语法:string.length示例:使用length属性 获取 字符个数:var txt = "Hello World!";document.write(txt.le... var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; 获取 html 元素宽高的两种方式 // 首先是 第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}。这 情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以 获取 到宽度。第二种情况就是宽和高是写在行内 ,比如style="width:120px;",这 情况通过上述2个方法都能拿到宽度。小结,因为id.offsetWidth和id.offsetHeight无视样式写在样式... 获取 方式: var chartDiv = document.getElementById('chart'); var chartW = chartDiv.offsetWidth; //宽度 var chartH = chartDiv.offsetHeight; //高度 console.log('该元素的宽为:' + chartW); console.log('该元素的高为:' + chartH); jQuery实现计算页面某段文字的 长度 的函数如何计算页面某段文字的 长度 呢?我们如何通过jQuery 来实现呢?下面是小编给大家提供的实现函数代码,欢迎阅读,更多详情请关注应届毕业生考试网。jQuery计算页面某段文字的' 长度 的函数:核心函数,注意是基于JQuery。这个办法计算的值,无法大于页面宽度。Javascript代码:var stringWidth = function(fontSize,... 本文实例讲述了 JS 判断字符串字节数并截取 长度 的方法。分享给大家供大家参考,具体如下:这是在项目制作 ,积累到的一个东西,感觉效果还可以,现在贴上效果:那么,在页面上,我们需要检测两个东西,一个就是字节数,一个就是字符数。由于数据库 ,要求title的 长度 字节数为200,那么具体的 js 代码如下:/****************************************************... em:相对于当前对象内 文本 的字体尺寸。如当前对行内 文本 的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。 ex:相对 长度 单位。相对于字符“x”的高度。通常为字体高度的一半。如当前对行内 文本 ... js 获取 js on元素数量本文实例讲述了 js 获取 js on元素数量的方法。分享给大家供大家参考。具体实现方法如下:代码如下:var keleyi js on={"plug1":"myslider","plug2":"zonemenu","plug3":"javascript"}function JS ONLength(obj) {var size = 0, key;for (key in obj) {if ... 在页面的某一个位置会有三个按钮,点击以后可以设置字体的大小,下面就通过简单的代码实例介绍一下如何实现此效果。代码实例如下: 前端JavaScript-点击大 小按钮设置文章字体大小function SetFont(size){var divBody=document.getElementById(“news_content”);if(!divBody){return;}divBody.style....