2013-10-09 65 views
0

我想知道是否可以從TinyMCE的可編輯DIV中排除某些元素。下面是一個例子代碼:TinyMCE - 排除元素

<div class="editable-area"> 
    <h2>heading</h2> 
    <p>paragraph</p> 
    <div class="exclude-this-element"></div> 
</div> 

.exclude-this-element:empty:before { content: "Editable Area"; } 

tinymce.init({ 
    inline: true, 
    fixed_toolbar_container: '.toolbar' 
}); 
tinyMCE.execCommand('mceAddEditor', false, '.editable-area'); 

的問題是,當TinyMCE的是在.editable-area初始化,它增加了<br>標籤.exclude-this-elementEditable Area文本停止出現。其實,我認爲整個.exclude-this-element經過一段時間後會被抹去。 TinyMCE可以完全排除這個元素嗎?

我還想附加一些操作(如click或jQuery UI函數)到.exclude-this-element,並使其不干擾TinyMCE。 http://www.tinymce.com/wiki.php/Configuration

回答

1

您可以使用:

我試過valid_childrenvalid_elementsinvalid_elements但我認爲這些都不可以用來被編輯排除任何元素(保存編輯器的內容時​​,它僅排除它們) 內容編輯方法

http://www.tinymce.com/wiki.php/api4:property.tinymce.Env.contentEditable並且還

不可編輯插件。這個插件使得與不可編輯類元素是 - 不可編輯

http://www.tinymce.com/wiki.php/Plugin:noneditable

編輯:

嘗試通過在tinyMCE的INIT配置添加這阻止的BR元素:

force_br_newlines : false, 
forced_root_block : "", 
convert_newlines_to_brs: false, 

如果從某處粘貼BR標籤時,BR標籤出現在內容中,您也可以添加此標籤:

paste_preprocess: function(pl, o) { 
o.content = o.content.replace(/<br><\/br>/gi, " "); 
} 
+0

謝謝!這個插件爲我的元素添加了'data-mce-contenteditable =「false」',但仍然TinyMCE會在該元素內插入不需要的'
',我的':empty'選擇器不起作用。 – Atadj

+0

好吧!查看我的答案編輯! – cyrat

+0

我做了所有這些,元素仍然對我的鍵盤上的「刪除」鍵作出反應(但我無法寫入,所以這是一個小問題),它仍然插入不需要的'
'裏面。太糟糕了,這不可能或不容易實現,因爲我想使用TinyMCE和jQuery UI Resizable,但TinyMCE刪除了可調整大小的句柄(因爲jQuery UI強制這個句柄必須位於可編輯的DIV中)。 – Atadj