English 中文(简体)
TinyMCE编辑的关键短片
原标题:Restrict keyboard shortcuts in TinyMCE editor

• 寻找在锡里卡马中心编辑的jQuery版本中可拆卸的个人关键短片。 目前,可允许的捷径清单是:

  • ctrl+z Undo
  • ctrl+y Redo
  • ctrl+b Bold
  • ctrl+i Italic
  • ctrl+u Underline
  • ctrl+1-6 h1-h6
  • ctrl+7 p
  • ctrl+8 div
  • ctrl+9 address

目前,除“Undo”、“Reo”和“大胆”外,所有捷径都被弃。 其余部分由于不想要的格式安排,在我们的执行工作中是站不住脚的。

我似乎无法找到能够使这些捷径得以实施的法典。 您可以指出,如何找到这一守则。

最佳回答

Disable Tested in <>/strong>

这将有助于你开始。 您可能实际上需要为<代码>ctrl+u和ctrl+i添加空档,以便在其他浏览器中加以拆解,但这一代码已经过测试,无法在>中操作。 紧接着最小的中西部地区排雷中心开始运行(I在大火中试验地雷):

for(var i in tinyMCE.editors){
  var editor = tinyMCE.editors[i];
  for(var s in editor.shortcuts){
    var shortcut = editor.shortcuts[s];
    // Remove all shortcuts except Bold (66), Redo (89), Undo (90)
    if(!(s == "ctrl,,,66" || s == "ctrl,,,89" || s == "ctrl,,,90")){
       // This completely removes the shortcuts
       delete editor.shortcuts[s];

       // You could use this instead, which just disables it, but still keeps
       // browser functionality (like CMD+U = show source in FF Mac) from interrupting the flow
       // shortcut.func = function(){  };
    }
  }
}

<<>Background

定义似乎围绕<代码>2294>。 (从全部开发下载)

此外,它们储存在<代码>的一个阵列中。 编辑:变量。 这些钥匙由特殊代号组成,然后是关键编码,如:ctrl,<90/code>。

但从我可以告诉的角度来看,许多浏览器似乎实施自己的版本:ctrl+b,ctrl+ictrl+u。 并且只有Gecko浏览器没有:

// Add default shortcuts for gecko
if (isGecko) {
    t.addShortcut( ctrl+b , t.getLang( bold_desc ),  Bold );
    t.addShortcut( ctrl+i , t.getLang( italic_desc ),  Italic );
    t.addShortcut( ctrl+u , t.getLang( underline_desc ),  Underline );
}

但是,如果你看一看,你可以看看看他们如何能够做到这一点。

此外,参看Editor.addortcut。 你也许能够推翻违约行为。

问题回答

尽管这一答案是可以接受的,但我要谈谈我使用的小ce4。 页: 1 <代码>setupmethod”内的活动方法将优先于添加的简短内容。

<><>>>>>Example:>>>

tinyMCE.init({
    // Your options here
    setup: function(editor) {
        editor.on("init", function(){
            editor.addShortcut("ctrl+u", "", "");
        });
    }
})

您可以取代上述代码中的任何缩略语。

因此,我得以做到这一点。 我得以利用上面的Doug s代码阻挡火法,使我想要的钥匙在杜格斯代码块之后添加。

var $iframe = $( iframe ).contents().get(0);

$($iframe).keydown(function(oEvent) {
    //italics (ctrl+i & Cmd+i [Safari doesn t allow you to test for Cmd])
    if (oEvent.keyCode ==  73  && (oEvent.metaKey || oEvent.ctrlKey)){
        oEvent.preventDefault();
        return false;
    }

    //underline (ctrl+u & cmd+u [Safari doesn t allow you to test for cmd])
    if (oEvent.keyCode ==  85  && (oEvent.metaKey || oEvent.ctrlKey)){
        oEvent.preventDefault();
        return false;
    }
});

因此,基本上由TinyMCE作为IFrame的编辑,从IFrame中解脱了Ctrl+uCtrl+i。 I 直至iFrame完成装货,然后附上一个关键降级活动,并附上Ctrl+iCtrl+i。 (I also sniff Cmd+i and Cmd+u for the mac [但Safon t Let You test for厘米d under this link。 除此以外,我需要残疾。

举例说,从允许I B和U在IEE和FF中转出。

var ctrlKey = false;

function removeShortcuts(){
  var e = tinyMCE.activeEditor;
  for (var s in e.shortcuts){
    if(s=="ctrl,,,73" || s=="ctrl,,,85" || s="ctrl,,,66"){
      e.shortcuts[s].func = function(){};
    }
  }
  e.onKeyUp.add(onKeyUp);
  e.onKeyDown.add(onKeyDown);
}

function resetShortcuts(){
  var e = tinyMCE.activeEditor;
  if (isGecko) {
    e.addShortcut( ctrl+b , t.getLang( bold_desc ),  Bold );
    e.addShortcut( ctrl+i , t.getLang( italic_desc ),  Italic );
    e.addShortcut( ctrl+u , t.getLang( underline_desc ),  Underline );
  }
  e.onKeyUp.remove(onKeyUp);
  e.onKeyDown.remove(onKeyDown);
}


function onKeyUp(editor, event){
  if(event.keyCode == 17){
    ctrlKey = false;
  }
}

function onKeyDown(editor, event){
  if(event.keyCode == 17){
    ctrlKey = true;
  }
  if(ctrlKey && (event.keyCode == 73 || event.keyCode == 85 || event.keyCode == 66){
    tinymce.dom.Event.cancel(event);
  }
}




相关问题
getGridParam is not a function

The HTML: <a href="javascript:void(0)" id="m1">Get Selected id s</a> The Function: jQuery("#m1").click( function() { var s; s = jQuery("#list4").getGridParam( selarrrow )...

selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

jQuery cycle page with links

I am using the cycle plugin with pager functionality like this : $j( #homebox ) .cycle({ fx: fade , speed: fast , timeout: 9000, pager: #home-thumbs , ...

jquery ui dialog opens only once

I have a button that opens a dialog when clicked. The dialog displays a div that was hidden After I close the dialog by clicking the X icon, the dialog can t be opened again.

jConfirm with this existing code

I need help to use jConfirm with this existing code (php & Jquery & jAlert). function logout() { if (confirm("Do you really want to logout?")) window.location.href = "logout.php"; } ...

Wrap text after particular symbol with jQuery

What I m trying to do, is wrap text into div inside ll tag. It wouldn t be a problem, but I need to wrap text that appears particularly after "-" (minus) including "minus" itself. This is my html: &...

热门标签