1
我是tinyMCE的新手,目前正在研究將自定義元素添加到tinyMCE的首選方式?向TinyMCE添加自定義元素的首選方式
我在工具欄中添加了一些按鈕,這反過來又觸發(a)插入文本的選定部分的元素,(b)再次單擊時從選定文本中刪除這些元素。
我不想讓嵌套這些元素,所以基本上我只是想標記一個句子或單詞與給定的,不重疊,標籤,例如部分:<foo>Hello</foo> world
因爲我找到的那一刻這兩種可能性在tinyMCE的文檔:
#1 tinyMCE.execInstanceCommand(editor_id, command, user_interface, value, focus)
和
#2 var n = dom.create(element);
n.innerText = sel.getContent({format : 'text'});
tinyMCE.activeEditor.selection.setNode(n);
其中,#2貌似更靈活的方式,因此值得PU發給我。
我已經開始使用方法#2實現插件,但我不確定我會如何處理這樣的東西:
- 選擇重疊元素邊界和文本節點(如
<foo>hello</foo> world <bar>!</bar>
- 合併相鄰元素(
<foo>bar</foo><foo>bar</foo>
)或 - 如何應對空元素等等
這就是爲什麼我想知道我是否缺少某種預定義的接口,因爲很多這些功能也應該是「常規」元素所需要的,如strong, em, h1,…,h6
之類的。
如果您需要更多信息,請讓我知道,任何提示或指針將不勝感激。
感謝您的回答Thariama,我的意圖是儘可能簡單:-)您是否介意給我發送相應的代碼片段(僅當它不會造成任何麻煩/不便時)?我正試圖避免嵌套。我想我的主要問題是,我仍然在尋找「正確」的方式和地點來做到這一點,但我會努力學習Formatter.js – michael
不幸的是,SO只提供有限的發佈空間,所以我把類代碼並粘貼在這裏:http://fiddle.tinymce.com/2tcaab。我希望這會對你有所幫助。 – Thariama
謝謝,如果我還沒有把這個標記爲已解決,你會介意嗎?你的回答有很大的幫助,如果還有其他意見,我會很高興聽到他們:-) – michael