cleditorのドキュメントは、それが「からkeyup」イベントで動作するように主張し、「変更」イベントを持っていると述べているが、と予想されるように、残念ながら私のテストでは動作しませんでしたFirefox 7(テキストエディタをクリックする必要があります)。
Jsfiddle:http://jsfiddle.net/qm4G6/27/
コード: Get content from jquery CLEditor
:
var cledit = $("#input").cleditor()[0];
cledit.change(function(){
var v = this.$area.context.value;
$('#x').html(v);
});
ユーザー陵は、独自の機能を追加するプラグインを修正する提案したのと同じものについて尋ねた別のStackOverflowの質問には、もあります
編集: 上記の質問の結果がうまくいかないとのご意見に基づき、以下のコードを修正しました。 これはIE9とIE9の "IE8"開発者モードで動作します。 http://jsfiddle.net/qm4G6/80/
$(document).ready(function(){
var cledit = $("#inputcledit").cleditor()[0];
$(cledit.$frame[0]).attr("id","cleditCool");
var cleditFrame;
if(!document.frames)
{
cleditFrame = $("#cleditCool")[0].contentWindow.document;
}
else
{
cleditFrame = document.frames["cleditCool"].document;
}
$(cleditFrame).bind('keyup', function(){
var v = $(this).text();
$('#x').html(v);
});
});
別の編集:HTMLを取得するには、$(this).find("body").html()
のようなのiframe内の体を見つける必要があります。以下のコードを参照してください。 JSFiddle:http://jsfiddle.net/qm4G6/84/
var cledit = $("#inputcledit").cleditor()[0];
$(cledit.$frame[0]).attr("id","cleditCool");
var cleditFrame;
if(!document.frames)
{
cleditFrame = $("#cleditCool")[0].contentWindow.document;
}
else
{
cleditFrame = document.frames["cleditCool"].document;
}
$(cleditFrame).bind('keyup', function(){
var v = $(this).find("body").html();
$('#x').html(v);
});
$("div.cleditorToolbar, .cleditorPopup div").bind("click",function(){
var v = $(cleditFrame).find("body").html();
$('#x').html(v);
});
こんにちはima007 - 提案してくれてありがとうございます。残念ながら、残念ながら、ユーザーのLingからの修正が機能しないようにダウンロード可能なcleditor.jsの100行目にバグがあるようです。このプラグインを動作させるには、最小化されたファイルcleditor.min.jsを使用する必要があります。これは、Lingと同じ方法で修正できません。 –
Hey Tim、IEのアカウントを調整しました。これはIE9のIEモードで動作しますが、IE8の実際のインストールはまだわかりません。 – ima007
ちょっとima007、残念ながら "contentWindow"を使用してもhtml()では動作しません。私は$( 'x')で書式を保持したい場合は、それが適用されています。これについて何か提案がありますか?ありがとう-tim –