2017-03-29 44 views
0

例如:React.js爆发dispatchEvent

我添加事件处理程序作出反应:

<div onClick={someHandler}/> 

然后我分派事件:

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

elm.dispatchEvent(clickEvt); 

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

+1

'elm'的价值是什么? –

+0

它是一个HTMLnode我使用的getElementsByTagName(“按钮”)[IDX]检索,按钮应该存在,否则它应该说财产以后像榆树是未定义的。 – BigName

+0

@felix我刚刚检查了两次,在调用dispatchEvent之前,'elm'被记录为右键。当我用鼠标点击按钮时,一切正常,但'dispatchEvent'什么都不做。对不起,我在例子中使用了'div',但它是一个按钮。 – BigName

回答

0

全部

我想通了。 bubbles必须设置为true以应对接收事件,这就是为什么click()方法有效,因为它会自动起泡。