【Firebase】JavaScriptにてCommand+リターンキー=submitを実装する

研究
Min An at Pexels
この記事は約2分で読めます。

最近TwitterやSlackで見かける、Commandキー+リターンキーでsubmitするのを実装します。

        <form id='chat_form'>
          <textarea class="box" id='chat_message' placeholder='メッセージ...' required></textarea>
          <button class="btn btn--blue box" type='submit'>ポスト</button>
        </form>
document.querySelector("#chat_message").addEventListener("keydown", function(event) {
  if (((event.ctrlKey && !event.metaKey) || (!event.ctrlKey && event.metaKey)) && event.keyCode == 13) {
    submitPost();
  }
});

document.querySelector("#chat_form").addEventListener("submit", function(event) {
  submitPost();
  event.preventDefault();
});

// submitされて以降の機能
function submitPost(){
  // 略

event.ctrlKey はWindowsのCtrlキー、
event.metaKey が MacのCommandキーの判別になります。
これらが押下されていて+keyCode==13つまりリターンキーが押下されたら、
該当のフォームのsubmitを発火します。

ってkeyCodeって非推奨っぽいけど、まあいいやw

コメント

タイトルとURLをコピーしました