提一个我最近在纠结的无聊问题,事件处理方法是用 onXXX 还是 handleXXX? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
sharkrice
V2EX    程序员

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

  •  
  •   sharkrice 2018-09-18 14:36:47 +08:00 3661 次点击
    这是一个创建于 2587 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    10 条回复    2018-09-18 17:50:20 +08:00
    wu67
        1
    wu67  
       2018-09-18 14:52:09 +08:00
    onClick stateHandler, 反正我是这么用的...
    pkoukk
        2
    pkoukk  
       2018-09-18 14:56:28 +08:00
    从个人理解的角度来说,on 偏向于 click 这些直接被触发的,handle 偏向于间接的。
    至于那些框架怎么想的,我就不知道了
    Aruforce
        3
    Aruforce  
       2018-09-18 14:57:13 +08:00
    elmnt.onXXXX...
    oswuhan
        4
    oswuhan  
       2018-09-18 15:10:49 +08:00   1
    三行代码感受下 onClick 与 handler 写法的场景差异,不是说必须这么写,把 handlerA/B 改成 onClickA/B 也是可以的,只不过语义不顺畅,个人认为,onClick 操作只执行一次(一个回调操作),而 event 与 handler 是一对多的关系。

    el.OnClick= function(){}
    el.addEventListener('click', handlerA);
    el.addEventListener('click', handlerB);
    reus
        5
    reus  
       2018-09-18 16:19:53 +08:00
    都可以,鸡毛蒜皮。
    xianxiaobo
        6
    xianxiaobo  
       2018-09-18 16:25:28 +08:00
    以前习惯用 on,后来 vue 某个组件库用 handle 我就跟着用 handle 了,保持一致性
    yikyo
        7
    yikyo  
       2018-09-18 17:13:32 +08:00
    那我这个 onXXXClickEventHandle 算是奇葩吗。。。
    whypool
        8
    whypool  
       2018-09-18 17:20:24 +08:00
    看心情
    d18
        9
    d18  
       2018-09-18 17:37:34 +08:00
    on 可以少些几个字母。
    chairuosen
        10
    chairuosen  
       2018-09-18 17:50:20 +08:00
    这个问题实质上是 on a do b。当只干一件事的时候,都行,当干多个事情时候,就应该是 onA(){ doB(); doC(); doD(); }
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1320 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:15 PVG 01:15 LAX 10:15 JFK 13:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86