如何将“e”参数分配给事件
How is the "e" parameter assigned to the event?
我可以看到e
参数周围的一些线程,但有一件事我无法完全理解,尽管我确信这是一个显而易见的答案。
当 e
参数传递到从 addEventListener()
调用的函数时,e
看起来会分配给事件对象。我想了解的是它在哪里/如何分配?
element.addEventListener('click', function (e){
console.log(e);
}, false);
它发生在内部,因为规范是这样说的:
调用侦听器的回调
handleEvent
,事件已传递 将此算法作为第一个参数和事件currentTarget
属性值作为回调此值。
因此,回调函数接收一个参数。您可以将其命名为 e
、 event
或 foobar
。您甚至可以不命名它,并使用arguments[0]
访问它。
它是从事件调用函数时分配的。您只是在定义一个回调,而不是调用它。
取而代之的是:
element.addEventListener('click', function (e){
console.log(e);
},false);
你可以这样写:
function DoOnClick(parameter) {
console.log(parameter);
}
element.addEventListener('click', DoOnClick ,false);
在本例中,addEventLinster 中的第二个参数是回调函数。回调函数是在事件发生时将调用的函数,它将以new Event()
作为参数进行调用,Event parameter
将包含该事件生成的所有数据(X,Y 位置、触发它的元素等)。
DoOnClick
函数没有什么特别之处,如果你这样称呼它DoOnClick("Hello")
,那么Hello
就会在控制台中打印出来。
如果你想了解更多关于addEventListener
的实际工作原理,你可以查看这个函数的Mozilla文档。
相关文章:
- 为什么可以't我跳过函数签名中的参数分配
- 如何在不使用javascript执行的情况下为函数分配参数
- PhpStorm警告:参数类型不可分配给参数类型
- 通过参数将传递的函数分配给动态创建的输入类型的onclick事件
- 传递Javascript参数并分配给变量
- 如何将函数的参数重新分配回原始参数名称
- 如何使用JQuery.ech()中分配给变量的参数调用函数
- 在Javascript严格模式下,您可以将参数分配给另一个变量
- 如何从在 JS 中用作参数的匿名函数中分配外部作用域变量
- 我们是否可以安全地从套接字参数的回调中分配对象引用
- 如果我有一个变量,分配给函数调用的值,如果函数调用的参数更改,是否可以更新该变量
- 为 jQuery 函数分配多组参数
- 打字脚本:参数类型函数不能分配给参数类型函数
- 如何在 DOM 对象上设置属性时避免无参数重新分配
- 为什么参数分配给回调
- 在javascript中,如何将参数分配给具有相同名称的变量
- Javascript/JQuery:为函数参数分配一整行代码
- 为函数参数分配参数
- 如何将参数的字符串列表传递给函数,并将它们作为单独的参数分配
- 如何将“e”参数分配给事件