ここでは、JQueryUI ダイアログ ボックス ボタンのクリック イベントを処理するために定義した関数を示します。
$.fn.MenuItemRemove = function () {
$('#dialogMessage').dialog('close');
ajaxData = JSON.stringify(MenuItemAction);
$.ajax(
{
type: "POST",
url: "/DynaStructure/LayoutMenuItemRemoveItem/" + $("#hidLanguage").val(),
data: ajaxData,
contentType: "application/json",
async: false,
success: $.fn.MenuUpdated,
error: function (xhr, ajaxOptions, thrownError) {
$.fn.jqDialogAlert(cap_DialogErrorTitle, (xhr.responseText));
}
});
}
ここに私のJQuery UI Confimダイアログボックスのコード
$.fn.jqDialogConfirm = function (title, message, confirmButtonTitle, cancelButtonTitle, okFunction, height, width) {
/// <summary>
/// Simple confirmation dialog box
/// </summary>
/// <param name="title" type="String">
/// Title of the dialog
/// </param>
/// <param name="message" type="String">
/// Message to display
/// </param>
/// <param name="confirmButtonTitle" type="String">
/// Confirm button title
/// </param>
/// <param name="cancelButtonTitle"type="String">
/// Cancel button title
/// </param>
/// <param name="okFunction" type="function">
/// Function called when Ok button clicked
///</param>
///<param name="width" type="int">
/// Width in pixels of the dialog box (default : defaultSmallDialogWidth)
///</param>
///<param name="height" type="int">
/// Height in pixels of the dialog box (default : defaultSmallDialogHeight)
///</param>
if (width == null) { width = defaultSmallDialogWidth; }
if (height == null) { height = defaultSmallDialogHeight; }
var dialogBox = $('#dialogMessage');
dialogBox.text(message);
$(dialogBox).hide();
$(dialogBox).dialog({
title: title,
autoOpen: false,
resizable: false,
modal: true,
minHeight: height,
minWidth: width,
buttons: [
{
text: confirmButtonTitle,
click: okFunction
}
,
{
text: cancelButtonTitle,
click: function () {
$(this).dialog("close");
}
}
]
});
dialogBox.dialog('open');}
ここで私の Confirm Dialog への呼び出し:
$.fn.jqDialogConfirm("Are you sure ?", "Are you really sure ?", "Ok","Cancel", "$.fn.MenuItemRemove", null, null);
[OK] ボタンをクリックすると、JavaScript デバッガーが jquery-ui-1.9.2 行 9418 で停止します。
if ( hasButtons ) {
$.each( buttons, function( name, props ) {
var button, click;
props = $.isFunction( props ) ?
{ click: props, text: name } :
props;
// Default to a non-submitting button
props = $.extend( { type: "button" }, props );
// Change the context for the click callback to be the main element
click = props.click;
props.click = function() {
click.apply( that.element[0], arguments ); //<<<<<HERE
};
button = $( "<button></button>", props )
.appendTo( that.uiButtonSet );
if ( $.fn.button ) {
button.button();
}
});
this.uiDialog.addClass( "ui-dialog-buttons" );
this.uiDialogButtonPane.appendTo( this.uiDialog );
} else {
this.uiDialog.removeClass( "ui-dialog-buttons" );
}
},
メッセージ付き:
行: 9418 エラー: オブジェクトはプロパティまたはメソッド « apply » をサポートしていません
この問題の解決を手伝っていただけませんか?