javascript - ckeditor getting cursor from body -


i using ckeditor in jsp/javascript project in internet explorer , need location of cursor editor. have found code work if text area not text area. area text enterred ckeditor body class ="cke_editable cke_editable_themed cke_contents_ltr cke_show_borders".

function caret(node) {     if(node.selectstart)         return node.selection.start();     else if(!document.selection)         return 0;      var c = "\001";     var sel =document.selection.createrange();     var dul =sel.duplicate();     var len =0;      dul.movetoelementtext(node);     sel.text = c;     len = (dul.text.indexof(c));     sel.movestart('character',-1);     set.text = "";      return len; } 

the above code works if don't make textarea ckeditor instance. when make ckeditor instance, using alerts have been able trace code , find "dul.movetoelementtext(node)" line code crashes. believe because code works text area, hoping know of similar code work body element.

thanks

if trying swap out text new element here basic idea:

html:

<div id="ed" contenteditable="true">hello world</div> <hr/> <button id="swap">swap?</button> 

javascript:

var editor = ckeditor.instances.ed; document.getelementbyid("swap").onclick = function(){     var txt = editor.getselection().getselectedtext() || "";     var reversed = txt.split("").reverse().join("");     var linkhtml = "<a>" + reversed + "</a>";     var newelem = ckeditor.dom.element.createfromhtml( linkhtml, editor.document );     editor.insertelement( newelem ); }; 

example:

http://jsfiddle.net/vkdcf/

more info:

now if cause editor blur, have issue wince selection lost.

in case need call lock , unlock

editor.getselection().lock();    //call when start dialog editor.getselection().unlock();  //call when dialog done 

ideally not creating plugin way, should create following tutorial http://docs.ckeditor.com/#!/guide/plugin_sdk_sample_1 or extending hijacking dialog events , overriding functionality.


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

How to get multiresult with multicondition in Sql Server -