С prepend()
вы фактически добавляете строку флажка внутри элемента add-list
li. Таким образом, вы делаете элемент add-list
li более крупной целью каждый раз, когда нажимаете на него.
Поместите свой add-list
элемент за пределы ul
и используйте append()
.
$( "#my-list" ).keypress( function(e) {
var key = e.keyCode ? e.keyCode : e.which;
if ( key == '13' ) {
addListItem()
}
});
$( "#add-list" ).click( function() {
addListItem();
});
function addListItem() {
$('#my-list').append('<li><input type="checkbox"><input type="text"><span>×</span></li>');
}
ul {
list-style: none;
padding: 0;
}
button { margin-top: 10px; }
li { margin-bottom: 10px; }
li span,
li input[type="text"] {
margin-left: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="my-list">
<li><input type="checkbox"><input type="text"><span>×</span></li>
</ul>
<button id="add-list"> + List item </button>