在Javascript中任何触发器之前调用函数



我想让一个按钮使用onclick处理程序,将调用函数之前任何触发。

在React中我可以这样做

<button onClick={clickHandler()}></button>

是否有可能在纯Javascript中做同样的事情?

是的,函数必须返回另一个。

let button = /* your button */;
button.addEventListener('click', (function(){
/* logic before any trigger */
return function(){
/* logic for every trigger */
}
})());

或者,在附加处理程序之前运行任何代码:

let button = /* your button */;
/* logic before any trigger */
button.addEventListener('click', function(){
/* logic for every trigger */
});

两个场景的逻辑相同:

let button = /* your button */;
function myButtonLogic(){
/* logic for everything */
}
myButtonLogic();
button.addEventListener('click', myButtonLogic);

最新更新