포럼

	insertTrigger: function(funcName, funcPos, procFunc)
	{
		var trigger = {
			name : funcName,
			func : procFunc
		}

		switch (funcPos)
		{
			case "before":
				this.beforeTriggers.push(trigger);
				break;
			case "after":
				this.afterTriggers.push(trigger);
				break;
		}

		return this;
	},
	getTriggers: function(funcName, funcPos)
	{
		var targetTriggers;
		var triggers = new Array();

		switch (funcPos)
		{
			case "before":
				targetTriggers = this.beforeTriggers;
				break;
			case "after":
				targetTriggers = this.afterTriggers;
				break;
			default:
				return triggers;
		}

		targetTriggers.sort(function(primary, secondary)
		{
			if (primary.name == secondary.name)
			{
				return 0;
			}
			else if (secondary.name == funcName)
			{
				return 1;
			}
			return -1;
		});

		for (var i in targetTriggers)
		{
			var trigger = targetTriggers[i];

			if (trigger.name == funcName)
			{
				triggers.push(trigger.func);
			}
			else
			{
				break;
			}
		}

		return triggers;
	},
	triggerCall: function(funcName, funcPos)
	{
		var triggers = this.getTriggers(funcName, funcPos);

		for (var i in triggers)
		{
			var func = triggers[i];

			if (typeof func == "function")
			{
				func();
			}
		}

		return this;
	}



개발 중인 모듈의 자바스크립트 일부분입니다.

트리거라는 이름의 배열에 함수들을 등록하고, 각 메서드마다 triggerCall을 사용한 트리거 사용을 하고 있습니다.

XE의 트리거 개념과 비슷하죠 ~_~


사실 다른 개발자분들의 스킨 개발을 위해 적용한 개념입니다.

일종의 프레임워크 개발이랄까요.

최대한 편리하게~

글쓴이 제목 최종 글
빽짱구 글과댓글 등록시 속도  
oscarmike 홈페이지 운영자라면 팁게시판을 주욱 읽어보세요!  
애니즌 image_lazyload 애드온 수정기. [21] 2014.05.13 by 애니즌
mAKEkr 몰랐는데.. 스킨에서도 그냥 일반 PHP파일을 불러올 수 있네요?? [4] 2014.05.13 by 독도2005
orangehome XE 비지니스 라이센스 정책 [6] 2014.05.13 by ibin
AJKJ 간단한 스팸방지 애드온 아이디어 및 배포 [14] file 2014.05.13 by prologos
가르송 누리고!!! 디자인 센터가 만들어지면 참 좋을듯하네요 ^^ [3] 2014.05.12 by 여우별다솜
KANTSOFT 프로그래머에게 필요한 5가지 덕목 [4] 2014.05.12 by KrteamENT
Novelic 게시판 모듈인데 wiki 모듈의 act가 쓰이네요 [3] 2014.11.14 by teguh100
이즈야 트리거 개념 적용하는 거 재미있네요.  
모얼더 스팸 테러의 목적이 뭘까요? [8] 2014.05.11 by Luatic™
foret 개인 사이트 용량으로 고민하시는 분들.. ㅎㅎ [6] 2014.05.11 by foret
EnterTM 디시인사이드와 같은 차단기능을 도입해야 되지 않을까 생각이 되네요. [3] 2014.05.10 by qwms
XE힘들당휴 현재 소셜XE는 mysqli DB환경을 사용할 시 문제가 있습니다. [13] file 2014.05.10 by 시기
도라미 공홈 메뉴가 영어로 바뀌었네요. [22] 2014.05.10 by 도라미
jango848 이미지 파일 업로드하면 깨지는데 왜그럴까요??ㅠㅠ [1] 2014.05.10 by teguh100
푸하라 캡챠 지데루 뚤렸네요.... [21] 2014.05.10 by 독도2005
푸하라 캡차가 뚤린것이 아니라 보안에 구멍이 생긴듯 하네요... [13] 2014.05.10 by GG
pezex 스팸 공격에 대해서 [2] 2014.05.10 by GG
Omega3 XE 공홈에 안 들어온지 약 1달이 되었는데... [2] 2014.05.10 by Omega3