javascript + preventDefault和stopPropagation在addEventListener中不起作用

时间:2017-09-05 08:11:36

标签: javascript addeventlistener

我有表单并使用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 个答案:

答案 0 :(得分:0)

您需要使用event而非this,其中event指的是传递给回调函数的事件参数。在您的情况下,this只是引用提交按钮。

<强>的jsfiddle

Live Example

打开控制台以比较e(事件)和this

答案 1 :(得分:0)

您可以添加event而不是this,并且可以正常工作:

var test = document.querySelector('.submit');
test.addEventListener('click', checkFunction);

function checkFunction (event){
    event.preventDefault();
    event.stopPropagation();

    console.log(event);
}

我希望能帮助你。