• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sharkrice
V2EX  ›  程序员

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

  •  
  •   sharkrice · Sep 18, 2018 · 4059 views
    This topic created in 2792 days ago, the information mentioned may be changed or developed.

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

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

    el.onClick = function(){}
    el.addEventListener('click', handlerA);
    el.addEventListener('click', handlerB);
    reus
        5
    reus  
       Sep 18, 2018
    都可以,鸡毛蒜皮。
    xianxiaobo
        6
    xianxiaobo  
       Sep 18, 2018
    以前习惯用 on,后来 vue 某个组件库用 handle 我就跟着用 handle 了,保持一致性
    yikyo
        7
    yikyo  
       Sep 18, 2018
    那我这个 onXXXClickEventHandle 算是奇葩吗。。。
    whypool
        8
    whypool  
       Sep 18, 2018
    看心情
    d18
        9
    d18  
       Sep 18, 2018
    on 可以少些几个字母。
    chairuosen
        10
    chairuosen  
       Sep 18, 2018
    这个问题实质上是 on a do b。当只干一件事的时候,都行,当干多个事情时候,就应该是 onA(){ doB(); doC(); doD(); }
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   943 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 137ms · UTC 21:29 · PVG 05:29 · LAX 14:29 · JFK 17:29
    ♥ Do have faith in what you're doing.