javascript - addEventListener click 在 KeyPress 之后立即消失
问题描述
由于某种原因,我无法让它工作,在键盘上单击输入后,新输入显示不到一毫秒然后消失
<!DOCTYPE html>
<html>
<head>
<title>Simple Register Form with JavaScript</title>
</head>
<body>
<form>
<input type="text" class="regFname" placeholder="First name: ">
<button>Register</button>
</form>
<p>Current Users</p>
<ul></ul>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
这是JavaScript
var inputFname = document.querySelector(".regFname");
var button = document.querySelector("button");
var ul = document.querySelector("ul");
function inputLength() {
return inputFname.value.length;
}
function add() {
var li = document.createElement("li");
li.appendChild(document.createTextNode(inputFname.value));
ul.appendChild(li);
inputFname.value = "";
}
function addUserAfterClick() {
if (inputLength() > 0) {
add();
}
}
function addUserAfterKeyPress(event) {
if (inputLength() > 0 && event.keyCode === 13) {
add();
}
}
button.addEventListener("click", addUserAfterClick);
inputFname.addEventListener("keypress", addUserAfterKeyPress);
解决方案
只需添加type="button"
您的html。如果未指定,则表现为type="submit"
var inputFname = document.querySelector(".regFname");
var button = document.querySelector("button");
var ul = document.querySelector("ul");
function inputLength() {
return inputFname.value.length;
}
function addUser() {
if (inputLength() > 0) {
var li = document.createElement("li");
li.appendChild(document.createTextNode(inputFname.value));
ul.appendChild(li);
inputFname.value = "";
}
}
button.addEventListener("click", addUser);
<form>
<input type="text" class="regFname" placeholder="First name: ">
<button type="button">Register</button>
</form>
<p>Current Users</p>
<ul></ul>
推荐阅读
- python - 为什么使用购物车会话?
- javascript - 如何延迟p5中元素的绘制?
- python - 建议:使用 python 在 Facebook 上发送消息而不会被禁止的最佳方式
- python - Python加入列表和添加和删除字符
- ios - 创建新的 PFObjects 时可以指定 objectId 吗?
- javascript - AWS Kinesis putRecords 使用 NodeJS SDK 以同步方式
- c++ - fWorldPerScreenWidthPixel 如何用于循环绘图
- django - 从 expressjs 端点向 django 发送 post 请求
- css - 如何使用 angular 和 bulma 使导航栏汉堡菜单在 iPhone 等小屏幕上工作?
- python - python多处理初始化的开销比收益更糟糕