Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过附加的事件侦听器传递事件_Javascript - Fatal编程技术网

Javascript 通过附加的事件侦听器传递事件

Javascript 通过附加的事件侦听器传递事件,javascript,Javascript,在jQuery上花了这么多时间之后,我对我的老式JS已经生疏了 问题是:将事件附加到要触发函数的对象时,如何将事件传递给所述函数 示例函数: myFunction(e){ ... } document.getElementById('blargh').onkeypress = function(event){myfunction(event)}; 示例事件附件: document.getElementById('blargh').onkeypress = function(){myf

在jQuery上花了这么多时间之后,我对我的老式JS已经生疏了

问题是:将事件附加到要触发函数的对象时,如何将事件传递给所述函数

示例函数:

myFunction(e){
    ...
}
document.getElementById('blargh').onkeypress = function(event){myfunction(event)};
示例事件附件:

document.getElementById('blargh').onkeypress = function(){myfunction([what do I put here to pass the event?])};

让处理程序接受一个参数,比如说
事件
,并将其传递给函数:

myFunction(e){
    ...
}
document.getElementById('blargh').onkeypress = function(event){myfunction(event)};
事件处理程序始终获取作为参数传递的当前事件。。。在W3C模型中

对于IE,必须通过
window.event
获取参数。因此,在函数中可以编写如下内容:

function(event) { event = event || window.event; myfuntion(event);}

您可以尝试使用
参数
。此变量将自动填充到本地范围中。它是传递到函数中的所有参数的数组。如果将
参数
传递给
myfunction
,则传递给偶数处理程序的所有内容都将作为数组传递给
myfunction

document.getElementById('blargh').onkeypress = function(){myfunction(arguments)};

function myfunction(args)
{
   alert(args[0]);
}

太快了!太快了,我还不能接受这个答案。谢谢(我会回来接受的…)