Una domanda strana sarà, ma ecco qui. Ho una pagina in cui mostro una foto in un grande formato, come un lightbox. Quando si preme ESC chiudo la pagina e tornare l'utente alla pagina dove è venuto, che mostra le foto in un formato normale:Come rilevare il tasto di fuga premuto quando si è in un video Youtube?
$(document).keyup(function(e) {
if (e.keyCode == 27) {
var closeURL = $('.close').attr('href');
window.location = closeURL;
}
});
Tuttavia, sulla stessa pagina lightbox è anche un pannello laterale che può contenere video di Youtube incorporati. È possibile per gli utenti ingrandire il video a schermo intero usando i controlli video standard del player Youtube. Se l'utente preme ESC in questo scenario, si chiuderà il video a schermo intero e tornare alla pagina lightbox (comportamento standard player incorporato, che è quello che voglio), tuttavia, l'evento chiave ESC poi anche innesca il mio codice keyup che si chiude la Lightbox, indesiderabile in questo specifico scenario.
ho trovato questo gocciolando verso il basso per essere lì in Chrome, ma non in Firefox. Essenzialmente quello che voglio è che il mio codice ESC non venga attivato quando si preme ESC per chiudere il player di Youtube, ma per farlo innescare solo quando gli utenti colpiscono ESC mentre guardano la foto (e non il video).
stavo cercando in event.target di distinguere tra questi scenari, ma senza fortuna ancora. Qualche idea?
Aggiornamento: Per ora accetterò questo bug solo per Chrome. Comunque aperto a soluzioni.
Potrebbe inviare il codice HTML per il pannello tenendo il player di YouTube –
Questa è una strana uno come Chrome sembra proprio comportarsi molto strano con pressione di un tasto. –
@JohnHartsock I miei pensieri esattamente :) Non mi aspettavo che il tasto ESC innescasse il mio evento, come pensavo fosse successo in un iframe. Ora sono confuso su quale sarebbe il comportamento corretto, tutto quello che so è che non voglio che l'evento bolla da Youtube alla mia pagina. – Ferdy