在搞前端项目,前端里有很多事件处理,有的框架或库用的是 onXXXX,有的是用 handleXXXX 有的既有 onXXX 也有 handleXXXX 本来是无所谓的事,但是我非要搞清楚 到底是用 onXXX 来命名还是 handleXXX 来命名, 它们有使用场景这一说,还是看心情瞎命名?
![]() | 1 wu67 2018-09-18 14:52:09 +08:00 onClick stateHandler, 反正我是这么用的... |
![]() | 2 pkoukk 2018-09-18 14:56:28 +08:00 从个人理解的角度来说,on 偏向于 click 这些直接被触发的,handle 偏向于间接的。 至于那些框架怎么想的,我就不知道了 |
![]() | 3 Aruforce 2018-09-18 14:57:13 +08:00 elmnt.onXXXX... |
![]() | 4 oswuhan 2018-09-18 15:10:49 +08:00 ![]() 三行代码感受下 onClick 与 handler 写法的场景差异,不是说必须这么写,把 handlerA/B 改成 onClickA/B 也是可以的,只不过语义不顺畅,个人认为,onClick 操作只执行一次(一个回调操作),而 event 与 handler 是一对多的关系。 el.OnClick= function(){} el.addEventListener('click', handlerA); el.addEventListener('click', handlerB); |
![]() | 5 reus 2018-09-18 16:19:53 +08:00 都可以,鸡毛蒜皮。 |
![]() | 6 xianxiaobo 2018-09-18 16:25:28 +08:00 以前习惯用 on,后来 vue 某个组件库用 handle 我就跟着用 handle 了,保持一致性 |
7 yikyo 2018-09-18 17:13:32 +08:00 那我这个 onXXXClickEventHandle 算是奇葩吗。。。 |
![]() | 8 whypool 2018-09-18 17:20:24 +08:00 看心情 |
![]() | 9 d18 2018-09-18 17:37:34 +08:00 on 可以少些几个字母。 |
![]() | 10 chairuosen 2018-09-18 17:50:20 +08:00 这个问题实质上是 on a do b。当只干一件事的时候,都行,当干多个事情时候,就应该是 onA(){ doB(); doC(); doD(); } |