CKEditor - insertText ไม่ทำงานหลังจาก setData

ฉันพยายามแทรกบางสิ่งหลังจากล้างเนื้อหาโดยใช้ setData("") จากนั้นฉันก็แทรกบางสิ่งลงไปโดยใช้วิธี insertText แต่เนื้อหายังคงว่างเปล่า

รหัสที่เกี่ยวข้อง:

CKEDITOR.instances.content.setData("");
CKEDITOR.instances.content.focus();
CKEDITOR.instances.content.insertText("the text I want to insert");

รหัสด้านบนใช้งานไม่ได้ ใครสามารถช่วยฉันได้บ้าง? การค้นหาวิธีอื่นในการล้างเนื้อหาใน CKEditor แทนที่จะใช้ setData("") หรือทำให้วิธี insertText ทำงานหลังจาก setData จะช่วยแก้ปัญหาของฉันได้ทั้งคู่ ขอบคุณมาก!


person Qing Ye    schedule 13.08.2012    source แหล่งที่มา


คำตอบ (4)


ใช้งานได้สำหรับฉันเช่นกัน จะต้องเป็นข้อผิดพลาด แต่ด้วย jquery มีวิธีแก้ไข

$('#content').val('the text I want to insert');

สำหรับอะแดปเตอร์ jquery โปรดดูที่นี่: http://ckeditor.com/blog/CKEditor_for_jQuery

person Sven    schedule 17.08.2012
comment
ขอบคุณสเวน นั่นมีประโยชน์จริงๆ - person Qing Ye; 18.08.2012


ฉันพบปัญหาเดียวกันและพบวิธีแก้ไข เมื่อ "ล้าง" โปรแกรมแก้ไขของคุณ อย่าใช้สตริงว่าง ให้ใช้ CKEDITOR.yourEditor.setData('<span></span>') แทน หรือ (อาจเป็น) "html ที่ถูกต้อง" อื่นๆ ที่เทียบเท่าซึ่งไม่แสดงอะไรเลย ตอนนี้ฉันได้ลองสิ่งนี้กับช่วงแล้วเท่านั้น การเรียกเมธอด setData ครั้งต่อไปจะไม่ล้มเหลว สนุก.

person Dantte    schedule 14.01.2013

ฉันมีปัญหาเดียวกัน แต่การติดตั้งอะแดปเตอร์ jquery ตามที่แนะนำโดยโซลูชันที่ยอมรับนั้นไม่ใช่ตัวเลือกสำหรับฉัน

ฉันสามารถทำให้มันทำงานได้ด้วยวิธีแก้ไขปัญหาชั่วคราวต่อไปนี้ในการโทรครั้งที่สอง:

setTimeout(function(){
  CKEDITOR.instances["myEditor"].setData(newText);
}, 0);

ฉันได้แนวคิดมาจากที่นี่: https://dev.ckeditor.com/ticket/10663#comment:7

person matias.g.rodriguez    schedule 08.11.2015