The code I wrote is a bit twisted and needs to be encapsulated again! So there is the following simple DialogHelper auxiliary class. Because the focus of this article is on ideas, the current version of the code is still very rough. The idea is right, and whatever it is encapsulated in the future is just a formality. I hope this idea can inspire everyone. At the same time, everyone is welcome to expand their thinking and put forward better suggestions for improvement.
The source code of DialogHelper is as follows:
//--Dialog auxiliary object-begin
//Now this object is just a simple encapsulation (it may be more complicated in the future).
// Its function is to simplify the calling method of jQuery UI's dialog. There is no need to modify the independent DOM structure, and the parameter transfer method is more direct.
DialogHelper = function() {
var m_title = ""; //Set the title
var m_msg = ""; //Set the message text
var m_btns = null; //Set the button
this.dlgDiv = $("
");//This part can be customized according to the situation
//todo: Icon, height, width, pop-up mode, etc. should all be set.
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() {
return this.m_msg;
}
this .set_Buttons = function(val) {
this.m_btns = val;
}
this.get_Buttons = function() {
return this.m_btns;
}
this.open = function() {
$dlg = this.dlgDiv.clone(); //This clone is very important, otherwise the text will be added repeatedly.
$dlg.children().filter("p").html(this.dlgDiv.children().filter("p").html() this.get_Msg()); //Add a custom message
$dlg.dialog({
autoOpen: true,
show: 'blind',
hide: 'explode',
position: 'center',
height: 260,
width: 460,
modal: true,
title: this.get_Title(),
buttons: this.get_Buttons()
});
}
// todo: Consider whether there is a possibility of memory leak
}
//--Dialog auxiliary object-end