Javascript 向onclick事件添加两个或多个函数

Javascript 向onclick事件添加两个或多个函数,javascript,html,css,Javascript,Html,Css,我创建了一个图像元素并添加了属性。 我还通过执行以下操作向onclick事件添加了一个函数: img.onclick = change; 现在我想添加另一个函数,它在onclick事件中有一个参数。假设我想补充: retrieveClass(this.className); 我该怎么做?类似于 img.onclick = change, retrieveClass(this.className); img.onclick=function(){change;retrieveClass(t

我创建了一个图像元素并添加了属性。 我还通过执行以下操作向onclick事件添加了一个函数:

img.onclick = change;
现在我想添加另一个函数,它在onclick事件中有一个参数。假设我想补充:

retrieveClass(this.className);
我该怎么做?类似于

 img.onclick = change, retrieveClass(this.className);

img.onclick=function(){change;retrieveClass(this.className);}
img.onclick=function(){change;retrieveClass(this.className);}
创建一个包含两个函数调用的包装函数,然后将其绑定到onclick

function wrap() {
    change;
    retrieveClass(img.className);
}

img.onclick = wrap();

创建一个包含两个函数调用的包装函数,然后将其绑定到onclick

function wrap() {
    change;
    retrieveClass(img.className);
}

img.onclick = wrap();
您可以使用引用函数的方法,例如:

img.onclick=retrieveClass.bind(img,img.className);
^^^
这
相当于:

img.onclick = function(){
   retrieveClass(this.className);
}
您可以使用引用函数的方法,例如:

img.onclick=retrieveClass.bind(img,img.className);
^^^
这
相当于:

img.onclick = function(){
   retrieveClass(this.className);
}

这是最简单的

<img src="..." onclick="command1; command2;">
当然,您也可以使用

img.onclick = function () { command1; command2; }

这是最简单的

<img src="..." onclick="command1; command2;">
当然,您也可以使用

img.onclick = function () { command1; command2; }

如果希望由单个事件触发多个事件处理程序,标准方法是使用
addEventListener
()

假设在示例中,
change
是处理程序函数的名称,并且
retrieveClass(this.className)
返回另一个处理程序函数,则可以执行以下操作:

img.addEventListener('click', change);
img.addEventListener('click', retrieveClass(this.className));

如果希望由单个事件触发多个事件处理程序,标准方法是使用
addEventListener
()

假设在示例中,
change
是处理程序函数的名称,并且
retrieveClass(this.className)
返回另一个处理程序函数,则可以执行以下操作:

img.addEventListener('click', change);
img.addEventListener('click', retrieveClass(this.className));

onclick属性不好用是的,我写了
这是最简单的…
。你应该使用事件处理程序,这完全是我的观点。你应该使用事件处理程序,这是可以证明的方式,它可以更好地分离关注点、javascript模块化、重用等。我实际上建议总体来说,绑定是最简单的选项,因为它更易于维护、调试,重复使用…onclick属性是不好的做法是的,我写了
这是最简单的…
。你应该为此使用事件处理程序,这完全是我的观点。你应该使用事件处理程序,这证明了这一点,它可以更好地分离关注点、javascript模块化、重用等。总体而言,我建议绑定是最简单的选项,因为它更易于维护、调试和重用。。。