javascript - DOM 操作(点击事件不工作)
问题描述
我已经构建了一个快速应用程序并且它运行良好,在最后阶段我想添加一些警报消息以在单击某些按钮时弹出。但是我的警报甚至没有点击就弹出,加载包含按钮的页面的那一刻弹出显示
在我的index.js
文件中,我有一个用于删除的表单按钮
<form
action="/grades/<%=grade._id%>?_method=DELETE"
method="POST"
class="delete-form"
>
<input
type="submit"
class="btn btn-danger mt-3"
value="Delete Class"
id="delBtn"
>
</form>
我已经delBtn
为按钮提供了 ID,在我的内部我main.js
有
var delBtn = document.querySelector('#delBtn');
delBtn.addEventListener('click', alert('Button Clicked'));
我怎样才能让它正常工作..
解决方案
这条线是问题所在。你alert
马上打电话。
delBtn.addEventListener('click', alert('Button Clicked'));
它的行为就像这样
alert('Button Clicked');
delBtn.addEventListener('click', undefined);
该addEventListener
函数需要一个字符串和一个函数,但您没有传入函数,但undefined
因为这是alert
函数返回的内容。
所以你只需要这个
delBtn.addEventListener('click', function(){
alert('Button Clicked');
});
推荐阅读
- python - 如何在一个函数中计算目标、梯度和粗麻布并将其传递给 scipy.optimize.minimize?
- kubernetes - 什么情况导致 Pod Log Reader 返回 EOF
- sql - 在表中查找最小和最大数据列
- angular - 更新时谷歌地图标记不会被替换
- pyspark - 向 pyspark 数据框添加包含文件名的附加列
- javascript - 批量更新标题 youtube
- atom-editor - 如何像在 vscode 中一样使用 atom 来格式化代码?
- laravel - Laravel Mailer:Swift_TransportException 身份验证模式 1 无效
- spring-boot - 如何使用代码优先方法实现 OpenApi / Swagger 考虑 Java 验证注释?
- reactjs - 在 Heroku 上部署网站后如何访问后端?