我想爲ckeditor 3.6.4中的每個img &輸入元素添加一個自定義id屬性。 到目前爲止,我已經添加dataProcessor.htmlFilter處理id屬性像這樣爲img和輸入元素添加自定義id屬性
CKEDITOR.on('instanceReady', function(event) {
var editor = CKEDITOR.instances.editor;
editor.dataProcessor.htmlFilter.addRules(
{
elements: {
$: function (element) {
if ((element.name == 'img' || element.name == 'input') && CKEDITOR.instances.editor.mode == 'wysiwyg') {
if (!element.attributes.id){
var g = createID();
alert('new id: ' + g);
element.attributes.id = g;
}
}
}
}
});
});
,當我在可視化編輯器添加一個新的文本字段我得到一個新的ID。但是如果我設置爲源模式,模式仍然是'wysiwyg'而不是'源',它會給出一個新的ID。
如何防止雙重行爲?
做了一些測試。加入了這個
CKEDITOR.instances.editor.on('mode', function() {
// Code to execute when the user switches editing modes
alert('Changed to: ' + CKEDITOR.instances.editor.mode);
});
不知何故,在htmlFilter規則後觸發。
試過了,但有些奇怪的事情正在發生。我不斷收到'wysiwyg'的編輯模式。我會在我的問題中添加更多的數據 – Vili