我希望在用户textarea
时将用户从presses enter
键入的文本移动到我选择的段落中。问题是输入已编入textarea
。它的功能是创建一个新行,但我想用以下代码替换该函数:
当用户按下enter键时,它会将文本从textarea移动到
这是段落和textarea的html代码:
<hr id="LineOne">
<p id="UserInput"></p>
<hr id="LineOne">
<textarea placeholder="Type Message Here:"></textarea>
这是我的jQuery(这里是我认为问题正在发生的地方所以请注意:
$(document).ready(function(){
$('textarea').bind("enterKey",function(e){
textarea.moveTo('#UserInput');
});
});
$('textarea').keyup(function(e){
if(e.keyCode == 13){
$(this).trigger("enterKey");
}
});
我是jQuery非常noobie / newbie我发现了堆栈溢出中的另一个问题,编辑它以满足我的需要,但它不是按照我想要的方式工作,你能告诉我为什么它不会工作以及如何解决它。
而且,我怎样才能在用户发出消息后在他们发送的消息之后放置一个空格,这样它就不会附加他们创建同一行的每条消息?
我想这样做,如果我从textarea中删除文本,段落(或UserInput)仍会保存该文本。
答案 0 :(得分:1)
你可能正在寻找这个
Dictionary
&#13;
$(document).ready(function() {
$('textarea').keyup(function(e) {
// Regex for matching new lines which will be replaced with <br />
// to make new line onto the paragraph.
var newval = $(this).val().replace(/(?:\r\n|\r|\n)/g, '<br />');
var para = $('#myparagraph');
// Keycode 13 is the Enter key
if (e.keyCode == 13) {
// Append the all text inside the textarea into paragraph
para.append(newval);
$(this).val(''); // Clear the textbox
}
});
});
&#13;
答案 1 :(得分:1)
你不需要jquery来做这件事。只需:
var input = document.getElementById('input');
var output = document.getElementById('output');
input.addEventListener('keydown', function(event) { // when a key is pressed
if (event.keyCode == 13 && input.value != '\n') { // if the key is the enter key
output.innerHTML += '<br>' + input.value;
input.value = '';
}
});
input.addEventListener('keyup', function(event) { // when a key is released
if (event.keyCode == 13) { // if the key is the enter key
input.value = '';
}
});
&#13;
<hr id="LineOne">
<p id="output"></p>
<hr id="LineOne">
<textarea id="input" placeholder="Type Message Here:"></textarea>
&#13;