提一个我最近在纠结的无聊问题,事件处理方法是用 onXXX 还是 handleXXX?

2018-09-18 14:36:47 +08:00
 sharkrice

在搞前端项目,前端里有很多事件处理,有的框架或库用的是 onXXXX,有的是用 handleXXXX 有的既有 onXXX 也有 handleXXXX 本来是无所谓的事,但是我非要搞清楚 到底是用 onXXX 来命名还是 handleXXX 来命名, 它们有使用场景这一说,还是看心情瞎命名?

3121 次点击
所在节点    程序员
10 条回复
wu67
2018-09-18 14:52:09 +08:00
onClick stateHandler, 反正我是这么用的...
pkoukk
2018-09-18 14:56:28 +08:00
从个人理解的角度来说,on 偏向于 click 这些直接被触发的,handle 偏向于间接的。
至于那些框架怎么想的,我就不知道了
Aruforce
2018-09-18 14:57:13 +08:00
elmnt.onXXXX...
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);
reus
2018-09-18 16:19:53 +08:00
都可以,鸡毛蒜皮。
xianxiaobo
2018-09-18 16:25:28 +08:00
以前习惯用 on,后来 vue 某个组件库用 handle 我就跟着用 handle 了,保持一致性
yikyo
2018-09-18 17:13:32 +08:00
那我这个 onXXXClickEventHandle 算是奇葩吗。。。
whypool
2018-09-18 17:20:24 +08:00
看心情
d18
2018-09-18 17:37:34 +08:00
on 可以少些几个字母。
chairuosen
2018-09-18 17:50:20 +08:00
这个问题实质上是 on a do b。当只干一件事的时候,都行,当干多个事情时候,就应该是 onA(){ doB(); doC(); doD(); }

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/490448

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX