2017-03-29 13 views
0

を破った:React.jsは、例えばは、dispatchEvent

私は反応にイベントハンドラを追加します。

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

elm.dispatchEvent(clickEvt); 

しかし、何が起こる:

<div onClick={someHandler}/> 

は、その後、私はイベントを送出します。私は elm.click()を使って反応イベントを引き起こすと聞いています。私はそれが反応でそれを行う適切な方法であるかどうか疑問に思っていますか? click()dispatchEvent()の違いは何ですか?私はちょっと dispatchEvent()に固執したいので。

+1

'elm'の値は何ですか? –

+0

getElementsByTagName( 'button')[idx]を使用して取得するHTMLノードです。ボタンが存在する必要があります。そうでなければ、elmが定義されていないと言ってしまうはずです。 – BigName

+0

@felix私はdoubleをチェックしただけです。 'elm'は' dispatchEvent'が呼び出される前に右ボタンとして記録されます。私のマウスでボタンをクリックすると、すべて正常に動作しますが、 'dispatchEvent'は何もしません。申し訳ありませんが、例では 'div'を使用しましたが、それはボタンです。 – BigName

答えて

0

すべて

私はそれを理解しました。 bubblesは、イベントを受信するために反応するためにtrueに設定する必要があります。そのため、自動的に気泡が発生するため、click()メソッドが機能します。