【问题标题】:Prevent the Default Event from happening with Codemirror's keymaps使用 Codemirror 的键盘映射防止默认事件发生
【发布时间】:2013-03-20 18:07:56
【问题描述】:

我试图弄清楚如何防止浏览器在 Codemirror 中显示带有 ctrl-s 或 cmd-s 事件的保存对话框。我可以让 extraKeys 工作,我只是无法避免调用恢复事件。我试过 return false 并且我已经挖掘了文档和示例。有谁知道如何防止默认情况发生?

代码如下:

var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers: true, mode: "text/html",
   extraKeys: {
      "Ctrl-S": function (instance) {
         alert("your mom");
         return false;
      },
      "Cmd-S": function (instance) {
         alert("my mom");
         return false;
      }
   }
}); 

【问题讨论】:

  • 如果重点放在编辑器上,您的代码似乎可以正常工作。为什么不完全禁用 Ctrl+S stackoverflow.com/questions/11000826/…
  • 这是一个很好的观点。我希望使用编辑器来管理保存过程,但最后,我可能不得不听从你的建议。感谢您的意见。
  • 在 Firefox 中,alert 是导致默认保存文件弹出窗口出现的原因。如果您确实需要在那里拨打警报,setTimeout(function(){alert("some mom")}, 1) 有效!

标签: javascript codemirror


【解决方案1】:

这是一个老问题,解决方案已经在答案中,但是对于任何正在寻找使用 CodeMirror 实现 Ctrl-S / Cmd-S 的解决方案的人,我想有一个更好的解决方案,如 CodeMirrror documentaion

CodeMirror.commands.save = function() {
    /* Do your stuff */
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 2017-11-09
    • 2011-11-28
    相关资源
    最近更新 更多