在 Javascript 中的任何触发器之前进行函数调用
Make a function call before any trigger in Javascript
我想使用 onclick 处理程序制作一个按钮,该处理程序将在任何触发器之前调用该函数一次。
在 React 中我可以这样做
<button onClick={clickHandler()}></button>
是否可以在纯 Javascript 中做同样的事情?
是的,函数只需要return另一个。
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);
我想使用 onclick 处理程序制作一个按钮,该处理程序将在任何触发器之前调用该函数一次。
在 React 中我可以这样做
<button onClick={clickHandler()}></button>
是否可以在纯 Javascript 中做同样的事情?
是的,函数只需要return另一个。
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);