每次我在输入框内按Enter(在键盘上)并在输入框内有文本时,我都希望新段落出现,其中将包含来自输入框的文本。
这是我的尝试,我的代码有什么问题?这是行不通的:
https://jsfiddle.net/dxuax025/
HTML:
<input type="text" id="text">
<div id="list"></div>
jQuery的:
$(document).ready(function() {
var r = $('<p>' + a.val() + '<p>');
$('#text').keypress(function(e) {
if(e.which == 13 & a.val() !== "") {
var a = $('#text');
var html = r(a.val());
$('#list').append(html);
$(a).val("");}
return false;
});
});
最佳答案
逻辑是:
检测ENTER键
如果用户按ENTER键,则从输入中获取值
最后,将p
标记附加到div
。
$(document).ready(function() {
$('#text').keypress(function(e) {
var key = e.which;
if (key == 13) // the enter key code
{
var inputText = $("#text").val();
$("#list").append("<p>" + inputText + "</p>");
$("#text").val("");
}
});
});
#list p {
background: rgba(255, 255, 255, 0.95);
box-shadow: 0 2px 2px rgba(0, 0, 0, .15);
color: #473e39;
font-size: 16px;
margin: 0 auto 5px;
padding: 20px;
max-width: 520px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="text" placeholder="Input something and enter">
<div id="list"></div>