あしあと

自分自身のログ(足跡)となります。ソフトウェアエンジニアです。ブログはテック系の内容が少し多めです。

Electronで右クリックを押した時に、文字を選択させない方法

Electronから迷った人向けのブログです。

環境

  • Electron ... 4.2.2

状況

Electronで右クリックを押した時、マウスが重なっている文字が選択されます。
選択が不要なので、右クリックを押した時に選択しないようにする対応です。

対応

Electoronの機能ではなく、JavaScriptの基本機能で制御できます。
window.getSelectionで選択した範囲を取得できるため、これを空にします。

developer.mozilla.org

サンプルコードは以下のようになります。

let hoge = document.getElementById('hoge')
hoge.addEventListener('contextmenu', function (e) {
  e.preventDefault();
  window.getSelection().empty();
}, false);

その他

JavaScriptの問題か、NodeJSの問題か、Electronの問題か、切り分けが本当に難しいですね。
これも小一時間ほど悩んでしまいました。