質問: **質問1.initMouseEventは有効?** ・このページ例に`evt.initMouseEvent`と記載されていますが、この書き方は現在も有効でしょうか? ・このページだと「initCustomEvent, are deprecated」と記載されているのですが --- **質問2.createEventの仕様について** ・どこで確認できる? ・ECMAScript? ・deprecatedなどはどこで告知されるものなのでしょうか? --- **質問3.new MouseEventの引数として渡してもclientXは設定できない?** ・このページで、オプション引数に"screenX"項目がありますが、これはどんな値を指定可能なのでしょうか? ・任意の値を渡すことは可能? ・例えば100を渡せば、ブラウザのX100地点に(実際はないけど)マウスがあるのと同じ? ・このプロパティは読み取り専用ではない? ・それとも、createEventなので、何でも設定可能?
回答: > > Many methods used with createEvent, such as initCustomEvent, are deprecated. Use event constructors instead. > > > とあるように `createEvent` ではなく `CustomEvent` を使えば良いと思います deprecated のものは、動くものもありますが、deprecated と知った以上は使わないほうがよいです バージョンが上がって動かなくなるかもしれないですし、新しいものに比べるとパフォーマンスが良くない場合もあります deprecated の通知は私も来て欲しいなーと思ってますが、とりあえず MDN が見やすいので MDN 見てます ただ日本語の方は情報が遅いので英語版のほうが良いです 一番いいのは W3C のドキュメントの変更履歴を監視してること?(あまり詳しくないです) JavaScript の言語としての仕様じゃなくて DOM 関係なら ECMAScrpt じゃなくて W3C のほうになります createEvent の仕様ですが、多分これだと思います `screenX` はイベントを作る関数の引数に渡すものなので、自分で設定するものです マウスのイベントがどこで発生したかを勝手に決めれます `screenX` なので、ディスプレイ全体で左端からのピクセル数です ページの同じ場所でも、ブラウザのウィンドウの位置で値が変わるあまり使いどころのないプロパティです