我的代码有问题吗?这是我从区域
创建文本编辑器的代码var box;
...
box = jQuery("#text_vesti").htmlbox({
toolbars:[
[
// Cut, Copy, Paste
"cut","copy","paste",
// Undo, Redo
"undo","redo",
// Bold, Italic, Underline,
"bold","italic","underline"
],
[
// Left, Right, Center, Justify
"justify","left","center","right",
// Ordered List, Unordered List
"ol","ul",
// Hyperlink, Remove Hyperlink, Image
"link","unlink","image"
],
[// Show code
"code",
// Formats, Font size, Font family, Font color, Font, Background
"fontsize","fontfamily",
],
],
skin:"silver",
icons:"silk"
});
它是创建编辑器,一切都好,但是...在某些时刻我必须在编辑器中放置文本来重新编辑文本,我使用这个功能......
function editujOvo (id){
editovanje = true;
id_za_editovanje = id;
jQuery("#r" + pom).css({"background":"none"});
jQuery("#r" + id).css({"background":"#dfdfdf"});
pom = id;
var podaci = "br=3&id=" + id;
// alert(podaci);
jQuery.post("ajax_exe.php", podaci,function(data){
//alert(data.id);
// alert(data.naslov);
alert(data.content);
document.getElementById("naslov_vesti").value = data.naslov;
//document.getElementById("text_vesti").value = data.content;
box=set_text(data.content);
document.getElementById("date").value = data.datum;
window.frames["news_page"].location.reload();
},'json');
}
但它没有做任何事情,只是在“set_text”函数告诉我数据存在并且它是正确的形式和所有,但是缺少某些东西......任何想法????
------------第二个问题?在这个版本中,或只是在我的代码中,粗体按钮第一次没问题,但是如果我按它将文本恢复到正常状态,它什么都不做,实际上它会在文本周围再设置一对<b></b>
标签(它显示了在HTML预览)..在HtmlBox插件的代码我可以修复此功能....任何一个???? TNX ..
答案 0 :(得分:0)
set_text被认为是一个全局函数? 我不能定义它和htmlbox插件使用 很好的封装,所以我不认为它具有全局功能。
也许set_text是一个盒子的方法????? 像
box.set_text(data.content);
来自??
的set_text函数在哪里答案 1 :(得分:0)
从jQuery函数返回存储对象:
textbox = $('#texteditor').htmlbox({
toolbars:{...}
})
// don't do that:
function YourClass(){}
YourClass.prototype = {}
YourClass.prototype.set_htmlbox = function(){
this.hb = $('#texteditor').htmlbox({
toolbars:{...}
})
}
// because you can't in future use this field to Ajax.
var save = {
icon: 'some.png',
tooltip: 'Save',
command: function(){
// context of this function is window!!!
// DON'T! IT'S INCORRECT!!!
// this.hb.get_text()
// this.post("/save")
// this.get("/text/1")
}
}
this.hb = $('#texteditor').htmlbox({
toolbars:{...,save}
})
但你可能会这样做:
...
var save = {
icon: 'some.png',
tooltip: 'Save',
command: function(){
YourClass.hb.get_text()
YourClass.post("/save")
YourClass.get("/text/1")
}
}
YourClass.hb = $('#texteditor').htmlbox({
toolbars:{...,save}
})
或者那样
...
var toolname = 'Save'
var save = {
icon: 'some.png',
tooltip: toolname,
command: function(){
}
}
this.hb = $('#texteditor').htmlbox({
toolbars:{...,save}
})
var _this = this // Save context
this.hb.find('input[title='+toolname+']').unbind('click').bind('bind',function(){
_this // <- use context
})