これは奇妙な疑問ですが、ここになります。私はライトボックスのような大きなフォーマットで写真を表示するページを持っています。 ESCを押すと、私はページを閉じて、通常の形式の写真を示し、彼はから来たページにユーザーを返す:Youtubeビデオでエスケープキーが押されたことを検出する方法は?
$(document).keyup(function(e) {
if (e.keyCode == 27) {
var closeURL = $('.close').attr('href');
window.location = closeURL;
}
});
しかし、同じライトボックスページにも含まれていてもよいサイドパネルです埋め込まれたYouTube動画。ユーザーは、Youtubeプレーヤーの標準ビデオコントロールを使用して、そのビデオをフルスクリーンに拡大することができます。ユーザーがそのシナリオでESCを押すと、フルスクリーンのビデオが閉じてライトボックスのページに戻ります(標準の埋め込みプレーヤーの動作、つまり私が欲しいものです)。しかし、ESCのキーイベントは、ライトボックスは、この特定のシナリオでは望ましくありません。
私は、この流行がChromeには存在するが、Firefoxでは存在しないことを発見しました。基本的に私が望むのは、YouTubeのプレーヤーを閉じるESCを押してもESCコードがトリガーされないようにすることです。
私はこれらのシナリオを区別するためにevent.targetを探していましたが、運はまだありません。何か案は?
更新:私はこのChrome専用のバグを今受け入れます。しかし、ソリューションにはまだ開いています。
あなたはクロームだけのキー入力で非常に奇妙な動作をするようですので、これは奇妙なものですユーチューブプレーヤー –
パネル保持のためのHTMLを投稿できます。 –
@JohnHartsock私の考えはまさに:)私はそれがiframeで起こったと思ったので、ESCキーが私のイベントをまったくトリガーすることは期待していませんでした。今私は、正しい行動がどんなものになるのか混乱しています。私が知っていることは、イベントがYoutubeから私のページにバブリングしたくないということだけです。 – Ferdy