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
}