Javascript 事件的函数
我想从以下内容创建一个函数:Javascript 事件的函数,javascript,function,events,dom-events,Javascript,Function,Events,Dom Events,我想从以下内容创建一个函数: element.onclick = function(e){ ... code ... } 对这样的事情: element.onclick = doSomething(e); element2.onclick = doSomething(e); function doSomething(e){ ... code ... } element.onClick = clickEvent; 通过这种方式,我可以多次调用该函数,但通过这种方式,e不会
element.onclick = function(e){
... code ...
}
对这样的事情:
element.onclick = doSomething(e);
element2.onclick = doSomething(e);
function doSomething(e){
... code ...
}
element.onClick = clickEvent;
通过这种方式,我可以多次调用该函数,但通过这种方式,e不会作为事件传递,因此不起作用
我应该怎么做?您需要以以下形式编写:
function fnName(e){
... code ...
}
然后您可以调用fnName并传递所需的变量
如果函数实际上不需要“e”,可以编写
function fnName(){
...code...
}
您可以这样做:
element.onclick=function{
myfunc();
}
函数myfunc
{
…代码
}我想你是在问如何创建一个普通函数并以各种方式使用它
function fnName(e) {
... code ...
}
可以以多种方式使用:
element.onclick = fnName;
fnName();
//Call it however you like?
不确定您的确切意思,但您可以声明一个函数并将其用作多个元素的处理程序。事件参数仍将被传递
element.onclick = someHandler;
anotherElem.onclick = someHandler;
yetAnotherElem.onclick = someHandler;
function someHandler(e){
e = e || event;
... code ...
}
这3个元素中的每一个都将调用相同的处理程序,并将事件对象作为其参数
编辑:关于编辑,您调用函数并将其返回值赋给onclick,而不是赋给函数本身
从你的评论看来,你已经明白了o首先,您必须为函数命名
function clickEvent(e) {
... do stuff ...
}
然后将其连接到元素上,如下所示:
element.onclick = doSomething(e);
element2.onclick = doSomething(e);
function doSomething(e){
... code ...
}
element.onClick = clickEvent;
触发事件时,事件将自动传递到函数中。我有点困惑。您是否试图将此onclick函数设置为变量并多次调用它?或者你只是想在任何地方运行该函数中的任何东西吗?我也很困惑,我编辑了我的问题:PHey,问题是元素中的e。onclick=dosomething;lol:D现在可以用了,谢谢大家!然后您可以说element.onclick=fnName,它将与问题中的第一个示例代码一样工作。