jQueryUI Dialog_jquery의 간단한 캡슐화
May 16, 2016 pm 06:25 PM
dialog
제가 작성한 코드가 약간 왜곡되어 다시 캡슐화해야 합니다! 따라서 다음과 같은 간단한 DialogHelper 보조 클래스가 있습니다. 이 기사의 초점은 아이디어에 맞춰져 있기 때문에 현재 버전의 코드는 여전히 매우 대략적입니다. 이 아이디어는 옳습니다. 앞으로 어떤 내용을 요약하더라도 이 아이디어가 모든 사람에게 영감을 줄 수 있기를 바랍니다. 동시에 모든 사람이 자신의 생각을 확장하고 개선을 위한 더 나은 제안을 할 수 있기를 바랍니다.
DialogHelper의 소스코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
//--대화상자 보조 객체-시작
//이제 이 객체는 단순한 캡슐화일 뿐입니다(향후에는 더 복잡해질 수 있습니다).
// jQuery UI 대화 상자의 호출 방법을 단순화하는 기능입니다. 독립적인 DOM 구조를 수정할 필요가 없으며 매개변수 전달 방법이 더 직접적입니다.
DialogHelper = function() {
var m_title = ""; //제목 설정
var m_msg = ""; //메시지 텍스트 설정
var m_btns = null; 버튼
this.dlgDiv = $("<div><p><span class="ui-icon ui-icon-alert" style="float: 왼쪽; 여백: 0 7px 20px 0;"> ;< /span></p></div>");//이 부분은 상황에 따라 맞춤 설정 가능합니다
//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() {
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(); //이 클론은 매우 중요합니다. 그렇지 않으면 텍스트가 반복적으로 추가됩니다.
$dlg.children().filter("p").html(this.dlgDiv.children().filter("p").html() this.get_Msg()) //사용자 정의 메시지 추가
$dlg.dialog({
autoOpen: true,
표시: '블라인드',
숨기기: '폭발',
위치: '중앙',
높이: 260,
너비: 460,
모달: true,
제목: this.get_Title(),
버튼: this.get_Buttons()
})
}
// todo: 메모리 누수 가능성이 있는지 고려
}
//--Dialog 보조 객체-end
DialogHelper 보조 클래스를 사용하는 코드는 다음과 같습니다. :
코드 복사 코드는 다음과 같습니다.
$(document). Ready(function() {
$('#opener').click(function() {
//보조 객체를 초기화합니다. 이 객체는 전역 객체로 한 번 생성하고 반복적으로 사용할 수 있습니다. 더 좋습니다. !
dlgHelper = new DialogHelper();
//개인정보 설정
dlgHelper.set_Title("기존 프로젝트를 삭제하시겠습니까?")
dlgHelper.set_Msg("Perform 이 작업을 수행하면 원래 프로젝트가 삭제됩니다. 계속하시겠습니까? ");
dlgHelper.set_Buttons({
'OK': function(ev) {
/ /여기에서 다른 공용 메소드를 호출할 수 있습니다.
$(this).dialog(' close')
},
'Cancel': function() {
//다른 공용 메소드를 호출할 수 있습니다. 여기에 메소드
$(this).dialog('close');
}
})
//양식 열기
dlgHelper.open()
});
});
코드 패키지 다운로드http://xiazai.jb51.net/201006/yuanma/jQueryUI_DialogDemo.rar
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7301
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1342
46


라라벨 튜토리얼
1259
25


PHP 튜토리얼
1206
29

