2010-08-12 8 views
0

같은 창에서 새 HTML 페이지를 여는 데 GreyBox을 사용하고 있습니다. 그것은 잘 작동하지만 지금은 탈출을 눌러 닫아야하거나 사용자가 페이지의 다른 곳을 클릭하면 좋겠다. 어떻게해야합니까?탈출을 누르거나 사용자가 페이지의 다른 부분을 클릭하면 GreyBox를 닫는 방법?

편집 : ---이

document.onkeypress = function (event) { 
    if (event == undefined) { event = window.event; } 
if (event.keyCode == 27) { 
    AJS.AEV(document,"keypress",GB_hide); 
    } 
} 

내가 이것을 사용하고 모질라에 잘하지만 사파리 나 크롬에서 실행 .... 어떤 생각이 왜 그렇게 먹으 렴입니까 ??

+0

의 클릭에 나 탈출 버튼

$(document).keyup(function(e) { if (e.keyCode == 27) { parent.GB_hide(); } // esc }); 

의 클릭에

에 대한 작업 벌금'AJS.AEV'은 무엇입니까? –

+0

@marcel : 전체 JS를 http://orangoo.com/labs/GreyBox/ – developer

+0

에서 볼 수 있습니다. 아니요, GreyBox의 일부가 아니라 JS 라이브러리의 일부입니다. http://orangoo.com/AJS/ documentation/AJS_referece.html # ev_fn –

답변

1

이것은 트릭을 만들었습니다.

document.onkeypress = function noNumbers2(e){ 
    e = e || window.event; 
    var keynum = e.keyCode || e.which; 
    if(keynum == 27){ 
    AJS.AEV(document,"keypress",GB_hide); 
    } 
} 
0

아마도 도움이 될까요?

window.document.onkeydown = function(evt) { 
    if (evt.keyCode == 27) { 
     if (alert.open) { 
      alert.close(); 
     } 
    } 
} 
+0

이벤트 인터페이스를 정상화하는 것을 잊지 마세요 ... –

+0

plz 내 편집을 참조하십시오. – developer

0

보다는 당신이

OnClientClick = "top.window.location.href = 리디렉션 할 경우 구글은 페이지의 URL을 제공하여 'HTTP : //localhost/yourpagename.aspx'; parent.parent을. GB_hide(); "

은 버튼 클릭시 jquery 회색 상자를 닫고 리디렉션하는 코드입니다.

0

jquery를 사용하면 다음과 같이 할 수 있습니다. 창 밖에

$(document).on('click','#GB_overlay', function(e) { 


      parent.GB_hide(); 

    }); 
관련 문제