2010-08-12 1 views
0

Я использую GreyBox для открытия новой страницы HTML в том же окне. Он работает нормально, но теперь я хочу, чтобы он закрывался при нажатии escape или если пользователь нажимает на другое место на странице. Как я могу это сделать?Как закрыть GreyBox при нажатии escape или если пользователь нажимает на другое место на странице?

редактировать: ---

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

я использовал это, и это прекрасно работает на Mozilla, но не на сафари или хромом .... любая идея почему то будет так ??

+0

Что 'AJS.AEV' делать? –

+0

@marcel: вы можете увидеть полную JS по адресу http://orangoo.com/labs/GreyBox/ – developer

+0

Нет, это не часть GreyBox, а библиотека JS: http://orangoo.com/AJS/ документация/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

Не забудьте нормализовать интерфейс Event ... –

+0

plz см. мое редактирование. – developer

0

, а затем с помощью Google дать URL страницы, где вы хотите перенаправить

OnClientClick = "top.window.location.href = 'HTTP: //localhost/yourpagename.aspx'; parent.parent. GB_hide();»

- это код для закрытия и перенаправления серого окна jquery при нажатии кнопки.

0

С помощью jquery вы можете сделать это. его работает отлично для меня

По щелчку кнопки Спасения

$(document).keyup(function(e) { 

      if (e.keyCode == 27) { parent.GB_hide(); } // esc 
}); 

На щелчку за пределами окна

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


      parent.GB_hide(); 

    }); 

 Смежные вопросы

  • Нет связанных вопросов^_^