1

JQuery と JQueryUI を使用する ASPNET MVC4 アプリがあります。jqueryui ダイアログがあり、jquery remove() が javascript エラーをスローします。

jquery/jqueryui のさまざまな組み合わせを試しましたが、エラーが発生しても問題ありません。

jquery migrate も含めました。

誰もこのエラーを見たことがありますか? 機能する jquery/jqueryui の組み合わせはありますか?

私はIE10でテストしています。

これは、MVC4 を使用しないプレーンな HTML アプリで問題なく機能します。

コードは次のとおりです。これは最後の行で、jquery オブジェクトを remove() で削除します。ダイアログが閉じられると、destroyForm が実行されます。

var loadDialog = function(url, caption, formName) {

        var dialogID = "dialogholder" + dialogStack.length;
        var markup = $("<div id=" + dialogID  + "></div>");
        markup.appendTo('body');
        var dialog = $("#" + dialogID).load(url, function(response, status, xhr) {
                                            if (status == "error") {
                                                var msg = "Error loading url: ";
                                                alert(msg + xhr.status + " " + xhr.statusText);
                                            }
                                            else{
                                                ko.applyBindings(null, dialog.find('form').get(0));//bind to the last form in the model i.e. the form about to be shown in the dialog                                
                                                //store the form name so that the destory form function can remove from client model
                                                if (formName)
                                                    $.extend(dialog, { formName: formName} );
                                                else
                                                    $.extend(dialog, { formName: dialog.find('form').get(0).id} );
                                            }
                                        }
        ).dialog( { modal: true, title: caption, width: "900px", resizable: true, close: destroyForm } );


        dialogStack.push(dialog);
    };

    function destroyForm()
    {
        var dialog = dialogStack.pop();
        topoix.destroy(dialog.formName);
        dialog.dialog('destroy');//return element to original state.
        dialog.remove();//remove element from DOM
    }
4

0 に答える 0