addEventListener中的函数参数

时间:2017-02-05 19:19:25

标签: javascript addeventlistener

基本问题。当我创建一个如下所示的eventlistener并为函数提供参数 e 时, e 是什么?如果我理解它只是事件对象的名称?

document.getElementById('theId').addEventListener('submit', function(e) {
    e.preventDefault();
})

那么这个例子怎么样?在这种情况下,事件是否创建了一个没有名称的对象?

document.getElementById("myBtn").addEventListener('submit', function(){
    alert("Hello World!");
});

2 个答案:

答案 0 :(得分:2)

参数 e 将是发生的事件,是 e 只是一个名称。你可以给它任何你想要的名字。

事件有自己的属性,其中一个是“类型”,因此您可以知道发生了什么事件。在这个例子中,它的类型是“click”,因为那是我们正在听的内容。

看一下这个例子

document.addEventListener("click", function(myEvent){
    console.log(myEvent);
});
<p>Click anywhere.</p>

答案 1 :(得分:2)

当活动提交时#39;如果被触发,则使用事件对象作为第一个参数调用给定的函数。

您可以根据需要命名

document.getElementById("myBtn").addEventListener('submit', function(someEvent){
    someEvent.preventDefault();
});

如果您不为参数指定名称,您仍然可以通过参数对象访问它。

document.getElementById("myBtn").addEventListener('submit', function(){
    arguments[0].preventDefault();
});

它的行为类似于数组,但不支持arguments.pop

之类的函数

有关参数对象here

的更多信息