Come chiudere GreyBox premendo fuga o se un utente fa clic da qualche altra parte della pagina?

StackOverflow https://stackoverflow.com/questions/3467035

  •  28-09-2019
  •  | 
  •  

Domanda

GreyBox per l'apertura di una nuova pagina HTML nella stessa finestra. Sta lavorando bene, ma ora voglio che dovrebbe avere chiuso premendo fuga o se un utente fa clic da qualche altra parte sulla pagina. Come posso fare?

modifica: ---

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

Ho usato questo e funziona bene su Mozilla, ma non su Safari o Chrome .... qualche idea del perché è questo è così ??

È stato utile?

Soluzione

questo ha fatto il trucco.

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

Altri suggerimenti

Forse questo ti aiuta?

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

piuttosto che utilizzando Google Page dare URL in cui si desidera reindirizzare

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

è il codice per chiudere e reindirizzare jquery casella grigia sul pulsante di scatto.

Con jQuery si può fare in questo modo. relativo funzionamento benissimo per me

Al clic del tasto Esc

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

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

Al clic di finestra esterna

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


             parent.GB_hide();

    });
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top