私が書いたコードは少し曲がっているので、再度カプセル化する必要があります。したがって、次のような単純な DialogHelper 補助クラスがあります。この記事の焦点はアイデアにあるため、現在のバージョンのコードはまだ非常に大まかです。このアイデアは正しいものであり、将来的にどのような内容にまとめられるとしても、このアイデアがすべての人にインスピレーションを与え、改善のためのより良い提案を提案できることを願っています。
DialogHelper のソース コードは次のとおりです。
//--ダイアログ補助オブジェクト-開始
//現時点では、このオブジェクトは単なる単純なカプセル化です (将来はさらに複雑になる可能性があります)。
// その機能は、jQuery UI のダイアログの呼び出しメソッドを簡素化することです。独立した DOM 構造を変更する必要はなく、パラメーターの転送メソッドはより直接的です。
DialogHelper = function() {
var m_title = ""; //タイトルを設定します
var m_msg = ""; //メッセージのテキストを設定します
var m_btns = null; button
this.dlgDiv = $("
");//この部分は状況に応じてカスタマイズできます
//todo: アイコン、高さ、幅、ポップアップモードなど。すべて設定する必要があります。
this.set_Title = function(val) {
this.m_title = val;
}
this.get_Title = function() {
return this.m_title; >this.set_Msg = function(val) {
this.m_msg = val;
}
this.get_Msg = function() {
this.m_msg を返す
}
this .set_Buttons = function(val) {
this.m_btns = val;
}
this.get_Buttons = function() {
this.m_btns を返す
}
this.open = function() {
$dlg = this.dlgDiv.clone(); //このクローンは非常に重要です。そうでないとテキストが繰り返し追加されます。
$dlg.children().filter("p").html(this.dlgDiv.children().filter("p").html() this.get_Msg()); //カスタムメッセージを追加します
$dlg.dialog({
autoOpen: true,
show: 'ブラインド',
非表示: 'explode',
位置: 'center',
高さ: 260,
width: 460,
modal: true,
title: this.get_Title(),
buttons: this.get_Buttons()
}
// todo: メモリリークの可能性があるか検討する
}
//--Dialog 補助オブジェクト終了
DialogHelper 補助クラスを使用するコードは次のとおりです: