javascript - 当点击事件时,元素被添加并立即消失

标签 javascript jquery

<!DOCTYPE html>

<html>
<head>
    <title>Question</title>
    <meta charset="utf-8">  
</head>
<body>
    <form action="">
        <input type="text" id="more-item" placeholder="addSomething" required autocomplete="off">
        <button id="more">add</button>
    </form>
    <ul id="items">
        <li class="item">work</li>
        <li class="item">relax</li>
        <li class="item">game</li>
    </ul>
</body>
</html>

$('#more').on('click', function() {
const item = $('#more-item').val();
  if (item !== '') {
    $('#items').append('<li class="item">' + String(item) + '</li>');
  } 
});

https://jsfiddle.net/mj70Lzey/

当我添加 li 标签时,它被添加并立即从屏幕上消失,导致 404 错误。原因是什么?

最佳答案

因为默认类型按钮是submit ,当您单击表单中的按钮时,您的 action=""所以它将重新加载页面。

将按钮类型更改为按钮将解决您的问题 <button id="more" type="button">add</button>

JSFiddle

https://jsfiddle.net/viethien/08eq1pwv/1/

$('#more').on('click', function() {
const item = $('#more-item').val();
  if (item !== '') {
    $('#items').append('<li class="item">' + String(item) + '</li>');
  } 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<head>
	<title>Question</title>
	<meta charset="utf-8">	
</head>
<body>
	<form action="">
		<input type="text" id="more-item" placeholder="addSomething" required autocomplete="off">
		<button id="more" type="button">add</button>
	</form>

	<ul id="items">
		<li class="item">work</li>
		<li class="item">relax</li>
		<li class="item">game</li>
	</ul>

</body>
</html>

关于javascript - 当点击事件时,元素被添加并立即消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61471801/

相关文章:

jquery - 使用 jQuery 将 JavaScript 对象转换为 JSON 字符串

javascript - 自动选择 html 选择标签的前一个和下一个选项

javascript - 如何更改 `<Div>` 及其父 `<Td>` 的高度

javascript - 获取另一个div中的span内容

javascript - 如何从 API 获取 Yahoo Weather Backgrounds?

javascript - jQuery Selector 对应的图片和li

javascript - React - 等待页面加载的正确方法?

javascript - 在 DalekJS 中迭代 DOM 元素

javascript - 检查 subview 是否重新加载; AngularJS,UI 路由器

c# - 从字符串中删除 HTML