jquery中的背景颜色正在更改并再次撤消



当我试图使用jquery更改主体的背景色(背景色更改项目(时,它会更改并再次返回默认背景色。

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Background-Color Changer</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="container">
<form action="">
<h3>Change the Background-Color (Hex code only)</h3>
<input type="text" name="" id="name" maxlength="7" placeholder="#" />
<button id="btn1" type="submit">Change</button>
</form>
</div>
</body>
<script src="js/jquery-3.6.0.min.js"></script>
<script src="js/main.js"></script>
</html>

JS:

$(document).ready(function () {
$("#btn1").click(function () {
$('body').css("background-color", $("#name").val());
});
});

您的按钮位于form中,因此当您单击它时,表单将被提交,页面将被重新加载。为了防止表单被提交,你可以这样做:

$("#btn1").click(function (evt) { // <- the event
$('body').css("background-color", $("#name").val());
evt.preventDefault(); // prevent the default behavior for that event
});

关于Event.preventDefault()的更多信息

最新更新