我想从ckeditor动态获取数据到div

时间:2012-11-21 09:13:16

标签: javascript jquery ckeditor

我创建了一个javascript,它在div的click事件上打开ckeditor,并从div获取数据到ckeditor, 现在我想要一些可以从ckeditor再次获得更新数据的东西。这是动态发生的。

我正在使用此javascript从div获取数据     

//var editor, html = '';
function createEditor(ele)
{
var x = ele.innerHTML;


CKEDITOR.instances.editor1.setData(x);


 var y = document.getElementById("editor1").value;
alert(y);
//ele.innerHTML = y;
document.getElementById("editor1").style.display = "block";

}


    </script>

我的HTML是

 <div onclick="createEditor(this);" id="id2"> hello how r u? </div>

请帮我解决这个问题

2 个答案:

答案 0 :(得分:4)

所以我想你想要CKEditor的实时预览?您无法使用事件keyup执行此操作,但您可以使用keyinstance.on('key', doSomething());)等CKEditor事件。

第1步:在页面中添加两个元素:

  1. textarea with ID:editor
  2. 带ID的div:预览
  3. <子>

    ...
    <body>
        <textarea id="editor"></textarea>
        <div id="preview"></div>
    </body>
    ...
    

    第2步:添加javascript以检测key个事件并更新#preview

    CKEDITOR.replace('editor'); //new ckeditor instance
    var editor = CKEDITOR.instances.editor; //reference to instance
    
    //on `key` event
    editor.on('key', function(){
    
      var data = editor.getData(); //reference to ckeditor data
      $('#preview').html(data); //update `div` html
    
    });
    

    <强> I've created a preview in JSBin

答案 1 :(得分:1)

我认为,你的ckeditor textarea上绑定onKeyUp事件应该可以解决问题。 http://www.w3schools.com/jsref/event_onkeyup.asp