Javascript “这是怎么回事?”;";指定给事件的参数?
我可以看到关于Javascript “这是怎么回事?”;";指定给事件的参数?,javascript,javascript-events,Javascript,Javascript Events,我可以看到关于e参数的一些线索,但有一件事我不能完全理解,尽管我确信这是一个显而易见的答案 当e参数被传递到从addEventListener()调用的函数中时,e看起来被分配给事件对象。我想了解的是它在哪里/如何分配 element.addEventListener('click', function (e){ console.log(e); }, false); 当从事件中调用函数时,将分配该值。您只是定义了一个回调,还没有调用它 而不是这个: element.addEventList
e
参数的一些线索,但有一件事我不能完全理解,尽管我确信这是一个显而易见的答案
当e
参数被传递到从addEventListener()
调用的函数中时,e
看起来被分配给事件对象。我想了解的是它在哪里/如何分配
element.addEventListener('click', function (e){
console.log(e);
}, false);
当从事件中调用函数时,将分配该值。您只是定义了一个回调,还没有调用它 而不是这个:
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
函数没有什么特别之处,如果您这样调用它,则控制台中将打印Hello
如果您想更多地了解
addEventListener
的实际工作原理,您可以看到。它是在内部发生的,因为这样说:
调用侦听器的回调的handleEvent
,并传递事件
将此算法作为第一个参数和事件的
属性值为
因此回调函数接收一个参数。您可以将其命名为
e
、event
或foobar
。您甚至不能命名它,也不能使用参数[0]
访问它。好的,当事件发生时,您的处理程序将使用处理程序(新事件(…)
调用。参数传递给函数的方式与调用函数的方式完全相同。您的意思是什么e
只是一个参数,您可以将其命名为param
。添加事件侦听器时,将调用您使用的函数。因此,如果您addEventListener('click',func1')
,然后将调用func1(eventData)
,其中eventData
是一个newevent()
对象。谢谢,Cristy!这对我来说肯定是件好事。感谢您的帮助。这进一步提供了明确性。干杯