洛谷 - 讨论区编辑器快捷键

为洛谷讨论区的编辑器添加一些快捷键

// ==UserScript==
// @name         洛谷 - 讨论区编辑器快捷键
// @namespace    http://tampermonkey.net/
// @version      2
// @description  为洛谷讨论区的编辑器添加一些快捷键
// @author       Henry-ZHR
// @match        https://www.luogu.com.cn/discuss/*
// @grant        none
// @require      https://cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js
// @license      WTFPL; http://www.wtfpl.net/txt/copying/
// ==/UserScript==

(function() {
  "use strict";
  $.noConflict();
  var submitOnKeydown = function(e) {
    if (e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13)) {
      if (document.location.href.startsWith("https://www.luogu.com.cn/discuss/lists")) {
        // 发帖
        document.getElementById("submitpost").click();
      }
      else {
        // 回复
        document.getElementById("submit-reply").click();
      }
    }
  };
  jQuery("textarea").keydown(function(e) {
    submitOnKeydown(e);

    // 粗体 Ctrl+B
    if (e.ctrlKey && e.keyCode == 66) {
      event.preventDefault();
      jQuery("ul.mp-editor-menu a[title=\"粗体\"]")[0].click();
    }

    // 删除线 Ctrl+Shift+X
    if (e.ctrlKey && e.shiftKey && e.keyCode == 88) {
      event.preventDefault();
      jQuery("ul.mp-editor-menu a[title=\"删除线\"]")[0].click();
    }

    // 斜体 Ctrl+I
    if (e.ctrlKey && e.keyCode == 73) {
      event.preventDefault();
      jQuery("ul.mp-editor-menu a[title=\"斜体\"]")[0].click();
    }

    // 插入链接 Ctrl+K
    if (e.ctrlKey && e.keyCode == 75) {
      event.preventDefault();
      jQuery("ul.mp-editor-menu a[title=\"插入链接\"]")[0].click();
    }

    // 从 Telegram Desktop 抄的
  });
  jQuery("input[name=\"captcha\"]").keydown(submitOnKeydown);
})();