javascript +preventDefault 和 stopPropagation 在 addEventListener 中不起作用
2017-09-05
1893
我有表单并使用 addEventListener 进行表单提交,我试图在表单提交后停止页面加载。
注意:我想使用 addEventListener 函数。
var test = document.querySelector('.submit');
test.addEventListener('click', checkFunction);
function checkFunction (){
console.log(test);
this.preventDefault();
this.`stopPropagation`();
}
<form>
<input type="text" >
<input type="submit" value="submit" name="submit" class="submit">
</form>
2个回答
您需要使用
event
而不是
this
,其中
event
指的是传递给回调函数的事件参数。 在您的例子中,
this
仅指提交按钮。
JSFiddle
打开控制台以比较
e
(事件)和
this
。
Script47
2017-09-05
您可以添加
事件
而不是
这个
,并且可以工作:
var test = document.querySelector('.submit');
test.addEventListener('click', checkFunction);
function checkFunction (event){
event.preventDefault();
event.stopPropagation();
console.log(event);
}
我希望对您有所帮助。
Feras Al Sous
2017-09-05