我使用的是Cleditor
http://premiumsoftware.net/cleditor/docs/GettingStarted.html.我想要获取keyup上的值,并将文本插入另一个div. cleditor自带的change()事件,我正在下面的jsfiddle示例中使用,但这不一样的keyup.我想要div被更新,因为我正在键入.我尝试了keyup,但它不起作用.
这是我现在有的
$("#input").cleditor().change(function(){
var v = $('#input').val();
$('#x').html(v);
})
检查jsfiddle http://jsfiddle.net/qm4G6/11/
解决方法
看起来,保护者隐藏文本区域,并用iframe替换它(参见cleditor源的第203行).
所以要实现你想要的,你只需要访问生成的iframe内容:
$("#input").cleditor();
$(".cleditorMain iframe").contents().find('body').bind('keyup',function(){
var v = $(this).text(); // or .html() if desired
$('#x').html(v);
});
Updated jsFiddle
更新以解决蒂姆的评论
这可以在Chrome和Firefox中使用(我无法访问IE):
$("#input").cleditor();
$( $(".cleditorMain iframe")[0].contentwindow.document ).bind('keyup',function(){
var v = $(this).text(); // or .html() if desired
$('#x').html(v);
});
Updated jsFiddle
更新2
用户ima007能够找到更好的跨浏览器解决方案:jQuery Cleditor wysiwyg text editor: keyup() works in webkit browsers but not Firefox or IE