【发布时间】:2012-10-20 21:02:29
【问题描述】:
这是我面临的问题
- 我有一个包含tinymce 实例的div。
- 此 tinymce 实例位于同一 div 内的无序列表中
- 当我尝试通过单击按钮删除主 div 时,我得到 “未捕获的 ReferenceError:t 未定义”错误。
- 但是当我双击按钮时,div 会被删除。但我希望删除 div 第一次点击。
- 我试过 tinymce.execCommand('mceRemoveControl', false, tinymceId); (tinymceID 是 tinymce textarea 的 id ) 删除 tinymce 的实例但无济于事
下面是我用来删除 div 的代码
$('div.form').on('click','a.cancel-btn',function(e){
var kk = $(this);
e.preventDefault();
$('.dialog').html('Are you sure you wish to delete this asset ? Selecting \'Yes\' will delete this asset.');
$('.dialog').dialog({
buttons:{
"Yes": function() {
tinymceId = kk.closest('div.box2').find('textarea').attr('id');
if (typeof(tinymceId) == 'string') {
if (tinyMCE.getInstanceById(tinymceId) != null)
{
tinymce.triggerSave();
tinymce.execCommand('mceFocus', false, tinymceId);
tinymce.execCommand('mceRemoveControl', false, tinymceId);
//tinyMCE.execCommand('mceFocus', false, tinymceId);
kk.closest('div.box2').find('textarea.tinymce_new').tinymce().remove();
}
kk.closest('div.box2').find('textarea').remove();
kk.closest('div.box2').find('textarea').remove();
}
//tinyMCE.myClass.remove();
kk.closest('div.box2').remove();
$(this).dialog("close");
kk.click();
},
"Close": function() { $(this).dialog("close"); }
}
});
});
【问题讨论】:
-
你确定这与tinymce有关,而不仅仅是变量范围的问题吗?通过尝试在没有初始化 tintmce 的情况下删除主 div 来检查。
-
是的,我敢肯定,因为同一页面中还有其他 div,我确实以同样的方式删除了这些 div,但不会显示此错误,但只有当我尝试使用 tinymce 删除 div 时才会出现此错误。如果我从 div 中删除 tinymce,它会毫无问题地删除