Javascript 介于<;输入>;及<;textarea>;,或包装<;输入>;

Javascript 介于<;输入>;及<;textarea>;,或包装<;输入>;,javascript,html,css,forms,textarea,Javascript,Html,Css,Forms,Textarea,嗨,我需要一个用户编辑小文本,类似于“推特”,约100个字符,但不同于实际的推特,新行字符是不允许的,这是一个单行。但另一件事是,这个编辑字段在水平方向上必须很短,远小于文本长度,大约20-40个字符宽。因此,文本区域使用两行或三行更方便 所以基本上我需要在文本区域和输入行之间进行混合。或者换句话说,输入行不是滚动而是换行。将长字符串包装成两行和三行,但不允许使用任何新行字符。如何做到这一点 需要这种输入有两个原因,一是在PC浏览器上父元素的宽度是固定的,二是它可以在手机浏览器中使用(320像素

嗨,我需要一个用户编辑小文本,类似于“推特”,约100个字符,但不同于实际的推特,新行字符是不允许的,这是一个单行。但另一件事是,这个编辑字段在水平方向上必须很短,远小于文本长度,大约20-40个字符宽。因此,文本区域使用两行或三行更方便

所以基本上我需要在文本区域和输入行之间进行混合。或者换句话说,输入行不是滚动而是换行。将长字符串包装成两行和三行,但不允许使用任何新行字符。如何做到这一点


需要这种输入有两个原因,一是在PC浏览器上父元素的宽度是固定的,二是它可以在手机浏览器中使用(320像素宽)。

将CSS属性
溢出:隐藏
调整大小:无
添加到
中应该可以做到这一点

JS防止进入

var textarea = document.querySelector('textarea');

textarea.addEventListener('keydown', function (event) {
    if ( event.keyCode == 13 ) {
        event.preventDefault();
    }
})

简单的回答是使用一个textarea并使用JavaScript过滤输入,使用CSS修复框尺寸

大概是这样的:


JavaScript将监视按下的键,并且仅当字符不是换行符且总长度小于最大值时才允许使用该字符

window.addEventListener('load',init,false);
函数init(){
var message=document.getElementById('message');
message.onkeypress=checkMessage;
}
函数检查消息(事件){
event=event | | window.event;
var key=event.which;
var max=60;

如果我在TestTaReA中按Enter键,它仍然会插入一个新的线段。小JavaScript将负责这个问题。请检查更新的答案。@ ExeBook,如果这个答案有效,请考虑将其标记为已解决,或者让我知道我还能如何帮助。干杯!您可以使用<代码> Masiga.Max Lime= 60 以限制文本