Javascript 单击“外部”或“ESC”时关闭模式窗口

Javascript 单击“外部”或“ESC”时关闭模式窗口,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我希望当用户在窗口外单击,或者在键盘上按escape时,能够关闭模式窗口 我已经看过很多关于这个主题的文章,但是没有一篇是关于我的代码的 HTML: JQuery: $('a[ref=openAudio]').click(function(){ $('#player').get(0).play(); }); $('a[ref=closeAudio]').click(function(){ $('#player').get(0).pause(); }); 选中此项: 我正在删除

我希望当用户在窗口外单击,或者在键盘上按escape时,能够关闭模式窗口

我已经看过很多关于这个主题的文章,但是没有一篇是关于我的代码的

HTML:

JQuery:

$('a[ref=openAudio]').click(function(){
    $('#player').get(0).play();
});
$('a[ref=closeAudio]').click(function(){
    $('#player').get(0).pause();
});
选中此项:

我正在删除te覆盖类的属性指针事件:无

并添加事件,单击覆盖

$(".overlay").click(function(){
   window.location.hash = "#";
});
选中此项:

我正在删除te覆盖类的属性指针事件:无

并添加事件,单击覆盖

$(".overlay").click(function(){
   window.location.hash = "#";
});

另一个很好的解决方案是ESC功能

已更新

$(document).keyup(hideModal);
$(".overlay").click(hideModal);


function hideModal(e) {
    if (e.keyCode === 27 || e.type === 'click') {
        window.location.hash = "#";
    }

    $('#player').get(0).pause();
}

另一个很好的解决方案也具有ESC功能

已更新

$(document).keyup(hideModal);
$(".overlay").click(hideModal);


function hideModal(e) {
    if (e.keyCode === 27 || e.type === 'click') {
        window.location.hash = "#";
    }

    $('#player').get(0).pause();
}

有没有办法让音频在这些事件中暂停?有没有办法让音频在这些事件中暂停?