Uncaught TypeError: Cannot read property 'addEventListener' of undefined error in my JS file
Uncaught TypeError: Cannot read property 'addEventListener' of undefined error in my JS file
<div class="card-body">
<hr>
<h5 class="card-title" id = "tasks-title">Todo's</h5>
<div class="form-row">
<div class="form-group col-md-6">
<input class="form-control" type="text" name="filter" id = "filter" placeholder="Search A Todo">
</div>
</div>
<div>
我在上面给出了我的 HTML 代码。 JS代码在下:
const cardBody = document.querySelectorAll(".card-body")[2];
const title = document.querySelector("#tasks-title");
cardBody.addEventListener("mouseenter",run);
cardBody.addEventListener("mouseleave", run);
function run(e) {
console.log(e.type);}
在这种情况下,当我将鼠标悬停在 cardBody 元素上时,输出必须写入“mouseenter”。当我用鼠标离开时,输出必须“鼠标悬停”。但是,我收到一个错误 Uncaught TypeError: Cannot read 属性 'addEventListener' of undefined。我到处搜索这个问题,但没有解决我的错误。
只有一个元素具有 class 名称 card-body
。
所以你应该注明 document.querySelectorAll(".card-body")[0]
const cardBody = document.querySelectorAll(".card-body")[0];
const title = document.querySelector("#tasks-title");
cardBody.addEventListener("mouseenter", run);
cardBody.addEventListener("mouseleave", run);
function run(e) {
console.log(e.type);
}
<div class="card-body">
<hr>
<h5 class="card-title" id="tasks-title">Todo's</h5>
<div class="form-row">
<div class="form-group col-md-6">
<input class="form-control" type="text" name="filter" id="filter" placeholder="Search A Todo">
</div>
</div>
<div>
<div class="card-body">
<hr>
<h5 class="card-title" id = "tasks-title">Todo's</h5>
<div class="form-row">
<div class="form-group col-md-6">
<input class="form-control" type="text" name="filter" id = "filter" placeholder="Search A Todo">
</div>
</div>
<div>
我在上面给出了我的 HTML 代码。 JS代码在下:
const cardBody = document.querySelectorAll(".card-body")[2];
const title = document.querySelector("#tasks-title");
cardBody.addEventListener("mouseenter",run);
cardBody.addEventListener("mouseleave", run);
function run(e) {
console.log(e.type);}
在这种情况下,当我将鼠标悬停在 cardBody 元素上时,输出必须写入“mouseenter”。当我用鼠标离开时,输出必须“鼠标悬停”。但是,我收到一个错误 Uncaught TypeError: Cannot read 属性 'addEventListener' of undefined。我到处搜索这个问题,但没有解决我的错误。
只有一个元素具有 class 名称 card-body
。
所以你应该注明 document.querySelectorAll(".card-body")[0]
const cardBody = document.querySelectorAll(".card-body")[0];
const title = document.querySelector("#tasks-title");
cardBody.addEventListener("mouseenter", run);
cardBody.addEventListener("mouseleave", run);
function run(e) {
console.log(e.type);
}
<div class="card-body">
<hr>
<h5 class="card-title" id="tasks-title">Todo's</h5>
<div class="form-row">
<div class="form-group col-md-6">
<input class="form-control" type="text" name="filter" id="filter" placeholder="Search A Todo">
</div>
</div>
<div>