GoogleChromeをバージョン 53.0.2785.89 mにアップデートしたら、new CustomEvent('click')
がマウスクリックの挙動をしなくなった*1。
結論?
先に考えたことを書くと、CustomEvent - Web APIs | MDN によればCustomEvent
は
The CustomEvent interface represents events initialized by an application for any purpose.
イベントを勝手につくるためのものだから、CustomEvent
でつけたイベント名がclick
だったとしても、MouseEvent
のclick
とは区別されるようになった、のだろうと思う(詳しい方よろしければお教えください)。
環境
OS: Windows7
Chrome: バージョン 53.0.2785.89 m
状況
対象のエレメントelem
に対して、クリックイベントを起こしたい。
elem.dispatchEvent(new CustomEvent('click'));
これがChrome52ではクリックイベントとして動いていたのだけれど、Chrome53から動かなくなった。戻り値はtrue
なのだけど、見た目には何も起こっていない状態。
ちなみに、new MouseEvent('click')
を使うと、ちゃんとクリックされた挙動が起こる*2。elem.click()
でも起こる。
MDN
CustomEvent() - Web APIs | MDN も MouseEvent() - Web APIs | MDN も健在だが、後者のブラウザ対応状況では Safari の Basic support に「?」がついている。
結び
これからはclick
にはMouseEvent
を使います。