在文本区域中输入文本并且它变得比区域宽时,文本将被包裹到下一行.有没有办法可以通过编程方式确定何时发生这种情况?
最佳答案
发生包装时没有触发实际事件,但如果您知道textarea的宽度,则可以破解解决方案.
在文本区域侦听更改事件,并将文本转换为包含其内容的div;
风格:
.textwidth {
position: absolute;
visibility: hidden;
height: auto;
width: auto;
}
使用文本内容计算div的宽度,并将其与textarea的常量宽度进行比较:
$('textarea').on('keyup',function() {
var lastLine = $(this).val().split('/n').pop();
var width = $('.textwidth').text(lastLine).width();
if ( width > $('textarea').width() ) {
// fire wrap event
}
});
这里有点粗鲁的小提琴,可以让你知道如何继续:http://jsfiddle.net/cXbAh/1/
原文链接:https://www.f2er.com/html/425955.html