我正在通过JQuery加载TinyMCE,加载后,我想添加一个保存按钮。保存按钮正在调用函数,但Firebug表示函数未定义,在这种情况下,destroyTinyMCE()未定义。怎么了?
$('div#introText').click(function() {
loadTinyMCE();
$('div#introText').after('<input value="Save" onclick="destroyTinyMCE();" type="button">');
});
function loadTinyMCE() {
//some variable
}
function destroyTinyMCE() {
$('div#introText').tinymce().destroy();
$('div#introText').tinymce().remove();
}
答案 0 :(得分:1)
如果这是在document.ready
处理程序中,那么destroyTinyMCE
函数仅限于它,并且当在全局命名空间中查找它时(如onclick="destroyTinyMCE();"
那样),它不会在那里。而是在创建时附加点击处理程序,如下所示:
$('<input value="Save" type="button">').click(destroyTinyMCE)
.insertAfter('div#introText');
这将正确引用该函数,它仍然可以隐藏在您当前所处的任何闭包内。