画面上でのCtrl+D&D操作(Windows)をMacでも対応させる

ドラッグアンドドロップ(D&D)は、WindowsではCtrlを押しながらだとコピーになりますが、同様の動作をWeb画面でもJavaScriptで指定できます。作成した時点ではMacに対応していなかったようなので(厳密には他の手段でできるらしいのですが)こちらを参考に少し条件を加えました。

//変更前
if (e.ctrlKey){...}
//変更後
if ((e.ctrlKey && !e.metaKey) || (!e.ctrlKey && e.metaKey)){...}

上の参照したリンク先でも述べられているのですが、e.ctrlKey は Windows ctrlキーとMac controlキーに対応している一方で、e.metaKey は Mac commandキーに対応しているようです。if (e.ctrlKey || e.metaKey)としてしまうと、Macでctrlでもcommandでも動いてしまうので、条件を組み合わせているようです。

これに e.keyCode ==..というように条件を加えることもできるようです。

https://hacknote.jp/archives/7321/ http://shanabrian.com/web/javascript/keycode.php