0

我正在使用页面上的 cleditor 创建一个 RTE 框,其下方有一个保存和取消按钮。

在我的“onclick”功能中保存按钮。我调用了cleditor对象的两个方法,分别是:.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 回答