I'm using Cleditor http://premiumsoftware.net/cleditor/docs/GettingStarted.html. I want to get the value on keyup and insert the text into another div. cleditor comes with change() event that i'm currently using in the jsfiddle example below, but thats not the same as keyup. I want the div to be updated as i'm typing in. I tried keyup but it doesn't work.
Here's what i have now
$("#input").cleditor().change(function(){
var v = $('#input').val();
$('#x').html(v);
})
Check jsfiddle http://jsfiddle.net/qm4G6/11/
It appears that cleditor
hides the textarea
and replaces it with an iframe
(see line 203 of cleditor source).
So to achieve what you want, you just need to access the resulting iframe
contents:
$("#input").cleditor();
$(".cleditorMain iframe").contents().find('body').bind('keyup', function(){
var v = $(this).text(); // or .html() if desired
$('#x').html(v);
});
UPDATE to address Tim's comment
This works in Chrome and Firefox (I don't have access to IE):
$("#input").cleditor();
$( $(".cleditorMain iframe")[0].contentWindow.document ).bind('keyup', function(){
var v = $(this).text(); // or .html() if desired
$('#x').html(v);
});
UPDATE 2
User ima007 was able to find a better cross-browser solution: jQuery Cleditor wysiwyg text editor: keyup() works in webkit browsers but not Firefox or IE