From 8e3d25b99ae614a8d367d40df8364f5af9173228 Mon Sep 17 00:00:00 2001 From: ngleader Date: Thu, 30 Oct 2008 06:27:51 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4729 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- common/js/common.js | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/common/js/common.js b/common/js/common.js index a8e6d0813..045dee201 100644 --- a/common/js/common.js +++ b/common/js/common.js @@ -389,11 +389,12 @@ function createPopupMenu(evt) { /* 클릭 이벤트 발생시 이벤트가 일어난 대상을 검사하여 적절한 규칙에 맞으면 처리 */ function chkPopupMenu(evt) { + // 이전에 호출되었을지 모르는 팝업메뉴 숨김 var area = xGetElementById("popup_menu_area"); if(!area) return; - if(area.style.visibility!="hidden") area.style.visibility="hidden"; + if(area.style.visibility != "hidden") area.style.visibility = "hidden"; // 이벤트 대상이 없으면 무시 var e = new xEvent(evt); @@ -403,6 +404,7 @@ function chkPopupMenu(evt) { var obj = e.target; if(!obj) return; + // obj의 nodeName이 div나 span이 아니면 나올대까지 상위를 찾음 if(obj && obj.nodeName != 'DIV' && obj.nodeName != 'SPAN' && obj.nodeName != 'A') obj = obj.parentNode; if(!obj || (obj.nodeName != 'DIV' && obj.nodeName != 'SPAN' && obj.nodeName != 'A')) return; @@ -410,17 +412,20 @@ function chkPopupMenu(evt) { // 객체의 className값을 구함 var class_name = obj.className; if(!class_name) return; - // className을 분리 var class_name_list = class_name.split(' '); + var menu_id = ''; - var menu_id_regx = /^([a-zA-Z]+)_([0-9]+)$/ig; - for(var i in class_name_list) { + var menu_id_regx = /^([a-zA-Z]+)_([0-9]+)$/; + + + for(var i=0,c=class_name_list.length;i