代码之家  ›  专栏  ›  技术社区  ›  user2210959

禁用从tinymce textarea复制文本

  •  0
  • user2210959  · 技术社区  · 8 年前

    有没有办法停止从tinymce文本区域复制文本?我试着通过以下代码来禁用从简单文本区域复制,但我想对tinymce文本区域进行限制,我不是说按钮,我是说写在文本区域中的文本

    <textarea id="mytinymcetextarea" class="noselect">Not copy able</textarea>
    
    tinymce.init({
     selector: "#mytextarea"
    });
    
    
    $('#mytinymcetextarea').bind('copy',function(e) {
    e.preventDefault(); return false; 
    });
    

    .noselect {
      -webkit-touch-callout: none; /* iOS Safari */
        -webkit-user-select: none; /* Safari */
        -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
    }
    

    如果不可能,是否有其他文本编辑器允许禁用复制文本。

    1 回复  |  直到 8 年前
        1
  •  1
  •   JoshG    8 年前

    你可以试着拦截 copy 事件并禁用其默认行为:

    document.addEventListener('copy', function(e){
      e.preventDefault(); // default behaviour is to copy selected text
    });
    

    不过,这并不能保证在所有浏览器上都能正常工作。

    Remove the Context Menu in TinyMCE ),您也可以从TinyMCE的“编辑”菜单中删除“复制”选项(请参阅: http://codeasp.net/blogs/microsoft-net/204/tinymce-how-to-remove-cut-copy-and-paste-items-in-edit-menu