基本问题。当我创建一个如下所示的eventlistener并为函数提供参数 e 时, e 是什么?如果我理解它只是事件对象的名称?
document.getElementById('theId').addEventListener('submit', function(e) {
e.preventDefault();
})
那么这个例子怎么样?在这种情况下,事件是否创建了一个没有名称的对象?
document.getElementById("myBtn").addEventListener('submit', function(){
alert("Hello World!");
});
答案 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
的更多信息