建立一个论坛并使用 Ckeditor 发布消息 - 在表单中使用 textarea 可以正常工作。现在我希望用户能够编辑他们的帖子,所以我有 ckeditor 内联工作,所以用户点击他们的帖子,他们的消息被 ckeditor 替换。到目前为止效果很好,看起来不错。但是保存按钮被禁用。我用一个表格包围了整个东西,但当然 ckeditor 现在是一个 div 而不是一个文本区域,所以我猜这个表格不起作用。那么如何将数据传递给我的 PHP 呢?
另一个问题是 Ckeditor 似乎不适用于手机。你能想到一个简单的手机后备方法吗?
这是我用来呈现内联编辑器的代码;
// Uncomment the following code to test the "Timeout Loading Method".
// CKEDITOR.loadFullCoreTimeout = 5;
window.onload = function() {
// Listen to the double click event.
if (window.addEventListener)
document.body.addEventListener('click', onClick, false);
else if (window.attachEvent)
document.body.attachEvent('onclick', onClick);
};
function onClick(ev) {
// Get the element which fired the event. This is not necessarily the
// element to which the event has been attached.
var element = ev.target || ev.srcElement;
// Find out the div that holds this element.
var name;
do {
element = element.parentNode;
}
while (element && (name = element.nodeName.toLowerCase()) &&
(name != 'div' || element.className.indexOf('edit_post') == -1) && name != 'body');
if (name == 'div' && element.className.indexOf('edit_post') != -1)
replaceDiv(element);
}
var editor;
function replaceDiv(div) {
if (editor)
editor.destroy();
editor = CKEDITOR.replace(div, {
uiColor: '#FFFFFF',
toolbar: [
['Save', 'Cut', 'Copy', 'Paste', 'PasteFromWord', '-', 'Undo', 'Redo', '-', 'Scayt'],
'/',
['Bold', 'Italic', 'Underline', 'Blockquote', '-', 'Link', 'Unlink', '-', 'Image', 'Smiley', 'oembed']
]
});
}