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

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

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

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

Q&A

解決済

1回答

1654閲覧

Electronでマウスイベントを発生させたい

ganariya

総合スコア50

Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

1グッド

2クリップ

投稿2018/05/03 10:16

前提・実現したいこと

現在Electron + mo.js(モーショングラフィックスライブラリ)を使用して
マウスがクリックされたときに、マウスエフェクトを発生させるソフトを作ろうと思っています。

Electronは常に最大画面サイズで前面に置いてあり

javascript

1win.setIgnoreMouseEvents(true, { 2 forward :true 3});

を設定することで、Electronのアプリは一番前面にありながら、後ろのウィンドウをクリックできるようになっています。

発生している問題・エラーメッセージ

クリックされたときにエフェクトを発生させたいが、clickイベントが発生しない
という問題が発生しています。
考えられる原因として

setIgnoreMouseEventsはElectronのソフト自体を透過させて、後ろにあるウィンドウはクリックできるようにするが、マウスのイベントは基本的に発生させない

があります。
しかし、設定時にforward: trueをつけると、マウスイベントが発生するとドキュメントに書いてあり、mouseoverイベントなどの発生は確認できました。

該当のソースコード

javascript

1document.addEventListener('click', function (e) { 2 3 //クリックされたときの発生させるエフェクト処理(mo.js) 4 circle1 5 .tune({x: e.pageX, y: e.pageY}) 6 .replay(); 7 8 circle2 9 .tune({x: e.pageX, y:e.pageY}) 10 .replay(); 11}) 12

上記のclickイベントが発生しません。
よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

使用ライブラリ

  • Electron: v1.8.4
  • mo.js: v0.288.2
trinitrotoluene👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

electron/brouser-windowによると、

forward Boolean (optional) macOS Windows - If true, forwards mouse move messages to Chromium, enabling mouse related events such as mouseleave. Only used when ignore is true. If ignore is false, forwarding is always disabled regardless of this value.

mouse related eventsということで、マウスイベントを発火できるのはまだmousemoveのみのようです。。

投稿2018/05/14 05:18

trinitrotoluene

総合スコア52

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問