2 回答
TA贡献1810条经验 获得超4个赞
好的,所以您的代码中有些错误...首先,您的JS(JavaScript)错误,语法
错误的方法
function onkeypress(evt);
if(onkeypress == 49)
正确的方法
function onkeypress(evt) {
if ( /* your condition */ ) {
/* your code */
}
}
另外,您需要在函数中添加一个侦听器,该侦听器将侦听某个事件并调用一个函数(您的回调),您可以在此处阅读更多内容。要使用它就像:
document.addEventListener("keypress", onkeypress); // Add the listener
function onkeypress(e) {
/* Will handler your callback */
}
或者
document.addEventListener("keypress", (e) => {
/* Will handler your callback */
})
而且第二个snnipet中的CSS是错误的,您必须在<style></style>标记内使用它。并且您的<script></script>标签必须在正文的末尾,才能正常工作。尝试下面的代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Page Title</title>
<link rel="stylesheet" href="css/screen.css">
<style>
.toprectangle {
height: 80px;
width: 200px;
background-color: #1E90FF;
float:right;
margin: 0px 40px 20px 80px;
border: 1px solid #1E90FF;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="circle"></div>
<div class="circle1"></div>
<div class="toprectangle"></div>
<div class="square"></div>
<div class="square"></div>
<div class="box3"></div>
<div class="box2"></div>
<script>
document.addEventListener("keypress", onkeypress);
function onkeypress(e) {
console.log(`Letter: ${e.key} with code ${e.keyCode}`);
if (e.keyCode == 97) {
console.log('Letter `a` has been pressd!');
let toprectangle = document.getElementsByClassName("toprectangle");
console.log(toprectangle)
toprectangle[0].style.backgroundColor = "#000"
}
}
</script>
</body>
</html>
添加回答
举报
