我正在使用页面上的cleditor创建一个RTE框,其下方有一个Save and Cancel按钮。
在“保存”按钮的“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'>   </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
}
答案 0 :(得分: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();
}
答案 1 :(得分:0)
仅供参考我在尝试使用selectedHTML()时遇到了同样的问题,以下更改解决了我的问题。
$('#input').cleditor()[0].selectedHTML()
看起来cleditor()函数返回一个数组。我只是在页面上用一个编辑器尝试过这个。