Есть посты, где это упоминается, но в J Query, которые я еще не изучил. Я пытался добавить элемент, когда пользователь нажимает на экран или клавиатуру. Когда пользователь нажимает на экран, кажется, что он работает отлично, но затем, когда пользователь нажимает клавишу ввода на клавиатуре, элементы отображаются менее миллисекунды, а затем исчезают. Кроме того, если вы можете указать, как добавить функцию удаления, чтобы удалить элемент, на который нажимает пользователь.
Вот HTML-код:
<!DOCTYPE html>
<html>
<head>
<title>Simple Shopping Cart</title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
<p class="buy">Buy your items anywhere and anytime</p>
<p class="click">click on an item to remove it</p>
<form>
<input type="text" class="item" placeholder="Item:">
<button type="button">Add item</button>
</form>
<br>
<ul>
</ul>
<script type="text/javascript" src="index.js"></script>
</body>
</html>
и вот код JavaScript:
const input = document.querySelector(".item");
const btn = document.querySelector("button");
const ul = document.querySelector("ul");
function inputLength() {
return input.value.length;
}
function add() {
var li = document.createElement("li");
li.appendChild(document.createTextNode(input.value));
ul.appendChild(li);
}
function addItem() {
if (inputLength() > 0) {
add();
}
}
function addItemPress(event) {
if (inputLength() > 0 && event.which === 13) {
add();
}
}
btn.addEventListener("click", addItem);
input.addEventListener("keypress", addItemPress)