質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

2023閲覧

Javascriptを使用してwindowの任意の場所をクリックする

e-yuta

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/08/30 22:12

###前提・実現したいこと
Javascriptでブラウザの任意の座標(x,y)をクリックしたいです。
マウス操作で左クリックする動作と同じ動作がしたいです。
よろしくお願いいたします。
現在、choromeのconsoleで試しています。
###該当のソースコード

javascript

1var e = document.createEvent("MouseEvent"); 2e.initMouseEvent("click",true,true,window,1,0,0,window.innerWidth / 2,200,false,false,false,false,2,null); 3var btnClick = document.getElementById("scene_title"); 4btnClick.dispatchEvent(e);

###試したこと
調べてみて、createEventとdispatchEventを使用するっぽい、というのはわかりましたが、それ以降進まず。

以上です。
どなたか分かる方いましたら、よろしくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takito

2016/08/30 23:15

クリックしたいことの目的はなんですか?
guest

回答1

0

javascript

1// 確認用 2window.onclick = eve => console.log(eve) 3 4var eve = new MouseEvent("click", { 5 bubbles: true, 6 clientX: window.innerWidth / 2, 7 clientY: 200, 8 button: 0, 9}) 10var elem = document.getElementById("scene_title"); 11var canceled = !elem.dispatchEvent(eve); 12if(canceled) { 13 alert("canceled"); 14} else { 15 alert("not canceled"); 16} 17 18// MouseEvent {isTrusted: false, screenX: 0, screenY: 0, clientX: 626, clientY: 200…}

これで scene_title を左クリックしたことになります。
質問のコードにあわせて、クリックした場所の clientX に windiw.innerWidth / 2, clientY に 200 を設定しています。

投稿2016/08/31 00:09

lazex

総合スコア604

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問