如何确定输入框中的文本,从左框中的像素数?可能有utf8,中文
问问题
61 次
3 回答
2
这可能不是最好的方法,但我想这可能是一个开始。这将返回输入元素中剩余的像素数:
function getRemainingWidth(element){
var span = $('<span class=\"'+$(element).attr('class')+'\" style=\"visibility:hidden;\">'+$(element).val()+'</span>');
$(document.body).append(span);
var diff = $(element).width() - $(span).width();
$(span).remove();
return diff;
}
于 2012-11-28T03:18:32.420 回答
1
一种方法是创建一个span
元素并将文本添加到其中。但是有一个问题:你必须将它添加到 dom 中才能得到它:
var sYourText = 'asdfafdsa, dzcvxvxc';
var oText = document.createElement('span');
oText.innerHTML = sYourText;
document.getElementsByTagName('body')[0].appendChild(oText)
console.log(oText.offsetWidth);
当然:请务必应用与您的 textarea 相同的字体。
于 2012-11-28T03:20:58.917 回答
0
$("textarea").keyup(function(){
var s = $(this).val()
var data = s.replace(/(\s)/g,' ')
console.log(data)
$('span').html(data)
})
我用替换的常规空格替换它,但可能需要使用 CSS 的包装问题
于 2012-11-28T03:34:30.430 回答