我正在尝试使用JavaScript检测对按钮的点击并阻止默认操作
<button onclick="myFunction(this)">Click Here</button>
function myFunction(event) {
event.preventDefault();
console.log("Function Has Run")
}
我遇到了错误
event.preventDefault is not a function
我要去哪里错了?
答案 0 :(得分:1)
在onclick
函数中,this
的值是 元素,而不是事件。
event
是onclick
函数的第一个参数。
您可以这样做:
onclick="myFunction(event)"
…,但是老实说,我不确定onclick
属性是否设置了本地event
变量是否为global event。
最好将事件处理程序与JavaScript绑定:
document.querySelector('button').addEventListener('click', myFunction)
然后myFunction
本身将成为事件处理程序,因此传递给它的第一个参数将成为事件对象,而this
将成为事件处理程序所针对的元素绑定。
答案 1 :(得分:1)