2013-12-18 76 views
2

有沒有辦法以編程方式在編輯器內的特定元素上禁用鼠標右鍵單擊?在CkEditor 4.3中禁用右鍵點擊

我需要使用此功能來禁用編輯器內某個特定表格元素的大小調整,這是由表工具插件管理的。

回答

5

最正確的解決方案是在選擇這樣的表格時禁用正確的命令,但不幸的是,它不會禁用該命令的菜單項,而只會阻止執行該命令。因此,必須使用不太酷的解決方案:

editor.on('contentDom', function() { 
    editor.editable().attachListener(editor.editable(), 'contextmenu', function(evt) { 
     console.log(evt.data.getTarget()); 
     evt.stop(); 
     evt.data.preventDefault(); 
    }, null, null, 0); 
}); 

這將完全禁用上下文菜單。您可以根據evt.data.getTarget()添加適當的條件。

+1

這不是CKEditor--瀏覽器顯示那些調整大小的處理程序。您可以通過['enableObjectResizing'](https://developer.mozilla.org/en/docs/Rich-Text_Editing_in_Mozilla)命令禁用它們。 – Reinmar

+0

完美工作。感謝Reinmar。 – Zain

-1

您可以禁用使用jQuery作爲特定元素右鍵單擊:

$('img').bind('contextmenu', function(e) { 
    return false; 
}); 

參考this question瞭解更多詳情。

+0

是的,這是真的。但是這種方法在CkEditor中不起作用 –