每次我在输入框内按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>

09-29 23:33