Home  >  Article  >  Web Front-end  >  Simple encapsulation of jQueryUI's Dialog_jquery

Simple encapsulation of jQueryUI's Dialog_jquery

WBOY
WBOYOriginal
2016-05-16 18:25:301093browse

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:

Copy the code The code 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 = $("

< /span>

");//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

The code for using the DialogHelper auxiliary class is as follows:
Copy code The code is as follows:

$(document).ready(function() {
$('#opener').click(function() {
//Initialize an auxiliary object. This object can be created once as a global object and used repeatedly. It is better!
dlgHelper = new DialogHelper();
//Set personalized information
dlgHelper.set_Title("Are you sure you want to delete the existing project?");
dlgHelper.set_Msg("Perform this operation, the original project will be deleted, are you sure you want to Do you want to do this? ");
dlgHelper.set_Buttons({
'OK': function(ev) {
//You can call other public methods here.
$(this).dialog(' close');
},
'Cancel': function() {
//You can call other public methods here
$(this).dialog('close');
}
});
//Open the form
dlgHelper.open();
});
});

Code package downloadhttp://xiazai.jb51.net/201006/yuanma/jQueryUI_DialogDemo.rar
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn