2009-10-29 107 views
0

我使用stackexchange.com,它使用了相同的编辑器stackoverflow(我现在使用的编辑器) 当我尝试使用右键alt + key(其他语言字符)键入特殊字符时, ,而不是我的特殊字符,我得到Ctrl +关键shorcut,例如撤销(按右alt + z),编号列表(按右alt + o),超链接(按右alt + l)。有没有办法解决它?我可以禁用这些快捷方式或修复它们,以便我可以在我的stackexchange站点中使用正确的Alt键吗?覆盖脚本包含的Attacklab脚本src =

我找到了处理脚本/Content/Js/wmd.js中的关键短语的代码。是否有可能在包含此脚本的页面中以某种方式覆盖它?

“key.metaKey”是Alt键,我认为它会导致问题。

var setupEditor = function() { 

      if (/\?noundo/.test(doc.location.href)) { 
        wmd.nativeUndo = true; 
      } 

      if (!wmd.nativeUndo) { 
        undoMgr = new wmd.undoManager(function() { 
          previewRefreshCallback(); 
          setUndoRedoButtonStates(); 
        }); 
      } 

      makeSpritedButtonRow(); 


      var keyEvent = "keydown"; 
      if (global.isOpera) { 
        keyEvent = "keypress"; 
      } 

      util.addEvent(inputBox, keyEvent, function(key){ 

        // Check to see if we have a button key and, if so execute the callback. 
        if (key.ctrlKey || key.metaKey) { 

          var keyCode = key.charCode || key.keyCode; 
          var keyCodeStr = String.fromCharCode(keyCode).toLowerCase(); 

          switch(keyCodeStr) { 
            case "b": 
              doClick(document.getElementById("wmd-bold-button")); 
              break; 
            case "i": 
              doClick(document.getElementById("wmd-italic-button")); 

      (.............) 
+0

嗨Wojtek - 这真的属于meta.stackexchange.com,这是一个网站设计的问题stackexchange。 – 2009-10-29 15:35:28

+0

编辑器来自Attacklab(WMD:The Wysiwym Markdown Editor),但它的配置是包含在脚本中的,我试图在主页面中定义我自己的函数(例如在head或footer中),但它不起作用 - 关键侦听器已被wmd scirpt添加。所以我需要JavaScript专家的帮助。如何删除键监听器或覆盖它。这是我认为的一个编程问题。 – Wojtek 2009-10-29 16:04:05

回答

0

您可以用Greasemonkey脚本覆盖它。重新定义该功能。您可以先在控制台上试用Firebug。

+0

谢谢,但问题是我无法修改从/Content/Js/wmd.js加载的包含脚本。我只能在包含代码