使用jquery加载弹出窗口中的TinyMCE

使用jquery加载弹出窗口中的TinyMCE,jquery,tinymce,Jquery,Tinymce,我正在尝试将最新的tiny mce-的jquery版本用于我的textarea。我创建了一个用于加载表单的弹出窗口,这就是问题所在-在第一次加载后,如果再次单击相同的加载弹出按钮,ajaxload将中断 下面是一个例子,看看我的意思 但是,我使用另一个ajaxload进行了测试,没有弹出窗口,那么jQueryAjax就可以正常工作了 jquery $('.button-popup').click(function(){ var object = $(this); // Rem

我正在尝试将最新的tiny mce-的jquery版本用于我的textarea。我创建了一个用于加载表单的弹出窗口,这就是问题所在-在第一次加载后,如果再次单击相同的加载弹出按钮,ajax
load
将中断

下面是一个例子,看看我的意思

但是,我使用另一个ajax
load
进行了测试,没有弹出窗口,那么jQueryAjax就可以正常工作了

jquery

$('.button-popup').click(function(){

    var object = $(this);

    // Remove any previous popup first.
    $(".popup").remove();

    // Now prepend a fresh popup.
    $(document.body).prepend("<div id='popup-edit' class='popup'></div>");

    // Load the content into the popup.
    $('#popup-edit').load('full.html', {}, function(){

        $('#binder-form').prepend("<div class='close'><a href='#' class='button-close'> x close </a></div>");   

        $('#binder-form').css({
            padding:"20px", 
            backgroundColor:"#ffffff"
        });

        $('textarea.tinymce').get_tinymce();
        $('form *[title]').inputHints();
        $('.button-submit').submit_form();

        $('.close').click(function(){
            $('.popup').fadeOut('fast',function(){
                //$(this).remove();
            });
            return false;
        });

    });

    return false;
});

$('.button').click(function(){

    $('.content').load('full.html', function() {
        $('textarea.tinymce').get_tinymce();
        $('form *[title]').inputHints();
        $('.button-submit').submit_form();

    });

    return false;
});
$('.button popup')。单击(函数(){
var object=$(这个);
//首先删除任何以前的弹出窗口。
$(“.popup”).remove();
//现在准备一个新的弹出窗口。
$(document.body).prepend(“”);
//将内容加载到弹出窗口中。
$('#popup edit').load('full.html',{},function(){
$(“#活页夹形式”)。前缀(“”);
$('#活页夹格式').css({
填充:“20px”,
背景颜色:“ffffff”
});
$('textarea.tinymce').get_tinymce();
$('form*[title]')。inputHints();
$('.button submit')。提交表单();
$('.close')。单击(函数(){
$('.popup').fadeOut('fast',function(){
//$(this.remove();
});
返回false;
});
});
返回false;
});
$('.button')。单击(函数(){
$('.content').load('full.html',function(){
$('textarea.tinymce').get_tinymce();
$('form*[title]')。inputHints();
$('.button submit')。提交表单();
});
返回false;
});

$('textarea.tinymce').get_tinymce()的插件处于中。

问题是,关闭模式后,
#活页夹表单
仍在页面上。您应该在模式关闭时删除
#活页夹表单
元素

只需取消注释close click事件中注释掉的行:

    $('.close').click(function(){
        $('.popup').fadeOut('fast',function(){
            $(this).remove(); // this will remove the popup element
        });
        return false;
    });
我倾向于避免在使用ajax的页面中依赖元素id属性。具有相同id的两个元素可能会导致各种难以捕获的错误。坚持在jQuery中为此使用类选择器

[编辑] 嗯,不,你是对的,你在下一次单击时删除了
.popup
,一个异常会导致它中断单击处理程序,并按照
full.html
的链接进行操作


我想说,由于某种原因,tiny mce会抛出一个错误,请尝试将其包装在一个try-catch块中,以了解其确切原因。

问题在于,关闭模式后,
#活页夹表单仍在页面上。您应该在模式关闭时删除
#活页夹表单
元素

只需取消注释close click事件中注释掉的行:

    $('.close').click(function(){
        $('.popup').fadeOut('fast',function(){
            $(this).remove(); // this will remove the popup element
        });
        return false;
    });
我倾向于避免在使用ajax的页面中依赖元素id属性。具有相同id的两个元素可能会导致各种难以捕获的错误。坚持在jQuery中为此使用类选择器

[编辑] 嗯,不,你是对的,你在下一次单击时删除了
.popup
,一个异常会导致它中断单击处理程序,并按照
full.html
的链接进行操作


我想说,tiny mce出于某种原因抛出了一个错误,尝试将其包装在一个try-catch块中,以了解其确切原因。

感谢您的回答,
尝试将其包装在一个try-catch块中,以了解其确切原因。
-我如何做到这一点?这可能是一个问题,代码中可能存在打字错误。我已经提交了一个错误报告,我们将看看它是如何进行的。感谢您提交的错误报告。我也认为这可能是他们的一个错误,因为这毫无意义。我也遇到了这个错误,但我不知道如何向他们提交罚单-谢谢你的回答,
尝试将其包装在一个try-catch块中,看看为什么确切地说是这样的
-我该怎么做?这可能是他们的问题,代码中可能有打字错误。我已经提交了一个错误报告,我们将看看它是如何进行的。感谢您提交的错误报告。我也认为这可能是他们的一个bug,因为这毫无意义。我也遇到了这个bug,但我不知道如何向他们提交罚单-