【问题标题】:React.js broke dispatchEventReact.js 破坏了 dispatchEvent
【发布时间】:2017-03-29 15:57:48
【问题描述】:

例如:

我在 react 中添加事件处理程序:

<div onClick={someHandler}/>

然后我派发事件:

let clickEvt = new MouseEvent('click', {
    'bubbles': false,
    'cancelable': true
});

elm.dispatchEvent(clickEvt);

但是什么也没发生。我听说你可以使用elm.click() 来触发反应事件。我想知道这是否是做出反应的正确方法? click()dispatchEvent() 之间还有什么区别?因为我有点想坚持dispatchEvent()

【问题讨论】:

  • elm的值是多少?
  • 这是我使用 getElementsByTagName('button')[idx] 检索的 HTMLnode,该按钮应该存在,否则应该说 elm 之类的东西未定义。
  • @felix 我刚刚再次检查,elm 在调用dispatchEvent 之前被记录为右键。当我用鼠标单击按钮时,一切正常,但dispatchEvent 什么也不做。抱歉,我在示例中使用了 div,但它是一个按钮。

标签: reactjs onclick dispatchevent


【解决方案1】:

全部

我想通了。 bubbles 必须设置为 true 才能响应接收事件,这就是 click() 方法起作用的原因,因为它会自动冒泡。

【讨论】:

    猜你喜欢
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    • 2013-08-04
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多