0

ページで cleditor を使用して、その下に [保存] ボタンと [キャンセル] ボタンがある RTE ボックスを作成しています。

保存ボタンの「onclick」機能。cleditor オブジェクトの 2 つのメソッド、つまり .select() と .selectedHTML() を呼び出します。

.select() は正常に動作しますが、.selectedHTML() はブラウザで「オブジェクトはプロパティまたはメソッドをサポートしていません」というエラーを生成します (つまり)。

このエラーが発生するのはなぜですか? .selectedHTML() メソッドは存在します。

以下のコードを参照してください。

var $editor
uab.crs_sum.prototype.render = function() {

    var oJSON = {};
    var target = this.getTarget();
    var tmpHTML = [];
    var chkOption = "";

tmpHTML = ["<textarea id='input' name='input'>This is some really great Content</textarea>"];
tmpHTML.push("<div><button style='width:6em'type='button' onclick='cancelEdit();'>Cancel</button><span style='width:3em'>&nbsp&nbsp&nbsp</span><button style='width:6em' type='button' onclick='saveEdit();'>Save</button></div>"); 
target.innerHTML = tmpHTML.join("");

$editor = $("#input").cleditor({
      "width":"100%"
      });
}


function saveEdit() {
    $editor.select();
    alert($editor.selectedHTML());  // Error occurs on this line 
}
4

2 に答える 2

0

参考までに、 selectedHTML() を使用しようとして同じ問題に遭遇しました。次の変更により問題が修正されました。

$('#input').cleditor()[0].selectedHTML()

cleditor() 関数が配列を返すようです。ページ上の単一のエディターでのみこれを試しました。

于 2013-06-24T19:46:04.813 に答える
0

私はこの.selectedHTML()方法に慣れていませんが、標準の jQuery.val()メソッドを使用するだけでうまくいきました。そして、元に戻す作業コピーを保存するだけです。

var $element = $('#input'),
    currentVal = $element.val();

$editor = $element.cleditor({
      "width":"100%"
 })[0];


function saveEdit() {
    alert($element.val());
}

function cancelEdit() {
  $element.val(currentVal);
  $editor.updateFrame();
}
于 2013-06-12T15:11:07.930 に答える