jQuery: 回车后textarea如何保持原位?
jQuery: How Do I Make textarea Stay In The Same Position After I Press Enter?
我们了解了问题的第一部分,但是,如果我没有输入足够长的消息,我希望我的代码与以前保持在同一行。
我要说的是:
$(document).ready(function() {
var para = $('#UserInput');
$('textarea').keyup(function(e){
var length = this.value.length;
var newval = this.value.replace(/(?:\r\n|\r|\n)/g, '<br />');
if (e.keyCode == 13 && length > 6 ){
para.append(newval);
this.value = "";
}
if (e.keyCode == 13 && length < 6){
alert("Not long enough!");
}
});
});
例如,如果我输入 He
,但是,我打算输入 Hello
结果如下:
He \"Alert Message"
llo \"Prints 'He' on the first line and 'llo' on the second line, if I don't backspace."
预期结果:
He \"Alert Message"
Hello \(ON THE SAME LINE) "Prints 'Hello' on the first line"
尝试用 var length = this.value
代替 $("textarea").length
来存储 textarea
value
的 .length
;更正 if
条件下的语法错误;首先 if
将 >
替换为 <
,在第二个 if
条件
中将 <
替换为 >
$(document).ready(function() {
var para = $('#UserInput');
$('textarea').keyup(function(e) {
var val = this.value;
var length = val.length;
var newval = val.replace(/(?:\r\n|\r|\n)/g, "");
if (e.keyCode == 13 && length < 5) {
para.append(newval);
this.value = "";
}
if (length < 5) {
alert("Not long enough!");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<p id="UserInput"></p>
<hr id="LineOne">
<textarea maxlength="100"; minlength="5"; placeholder="Type Message Here:">
</textarea>
我们了解了问题的第一部分,但是,如果我没有输入足够长的消息,我希望我的代码与以前保持在同一行。
我要说的是:
$(document).ready(function() {
var para = $('#UserInput');
$('textarea').keyup(function(e){
var length = this.value.length;
var newval = this.value.replace(/(?:\r\n|\r|\n)/g, '<br />');
if (e.keyCode == 13 && length > 6 ){
para.append(newval);
this.value = "";
}
if (e.keyCode == 13 && length < 6){
alert("Not long enough!");
}
});
});
例如,如果我输入 He
,但是,我打算输入 Hello
结果如下:
He \"Alert Message"
llo \"Prints 'He' on the first line and 'llo' on the second line, if I don't backspace."
预期结果:
He \"Alert Message"
Hello \(ON THE SAME LINE) "Prints 'Hello' on the first line"
尝试用 var length = this.value
代替 $("textarea").length
来存储 textarea
value
的 .length
;更正 if
条件下的语法错误;首先 if
将 >
替换为 <
,在第二个 if
条件
<
替换为 >
$(document).ready(function() {
var para = $('#UserInput');
$('textarea').keyup(function(e) {
var val = this.value;
var length = val.length;
var newval = val.replace(/(?:\r\n|\r|\n)/g, "");
if (e.keyCode == 13 && length < 5) {
para.append(newval);
this.value = "";
}
if (length < 5) {
alert("Not long enough!");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<p id="UserInput"></p>
<hr id="LineOne">
<textarea maxlength="100"; minlength="5"; placeholder="Type Message Here:">
</textarea>