Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Esc按钮与.trigger()配合使用;仅当我首先单击任何元素时_Javascript_Jquery_Html_Iframe - Fatal编程技术网

Javascript Esc按钮与.trigger()配合使用;仅当我首先单击任何元素时

Javascript Esc按钮与.trigger()配合使用;仅当我首先单击任何元素时,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我创建了一个简单的函数,它显示iFrame中的内容,iFrame位于另一个元素(#icontent)的内部。容易的。现在,我想使用在iFrame内部创建的按钮或按ESC按钮来关闭iFrame和周围的元素。第一种方法也很简单,但第二种方法很奇怪。 这是我的密码: jQuery('.slider-wrapper').on('click','.hide',function() { parent.top.jQuery('#icontent').fadeOut(200); setTimeo

我创建了一个简单的函数,它显示iFrame中的内容,iFrame位于另一个元素(
#icontent
)的内部。容易的。现在,我想使用在iFrame内部创建的按钮或按ESC按钮来关闭iFrame和周围的元素。第一种方法也很简单,但第二种方法很奇怪。 这是我的密码:

jQuery('.slider-wrapper').on('click','.hide',function() {
    parent.top.jQuery('#icontent').fadeOut(200);
    setTimeout(function(){
        parent.top.jQuery('#mainFrame').attr('src','about:blank');
    }, 250);
});
jQuery(document).keyup(function(e) {
    if (e.keyCode == 27) { jQuery('.hide').trigger('click');
    }
});
单击
.hide
按钮时,它将关闭我的iFrame所在的div。但当我按下ESC键(这应该是模拟点击按钮)时,它会工作,但只有当我先点击任何元素时(除了提到的按钮),如果我不先点击任何地方,它什么也不做。有什么解释吗


谢谢大家,丹。

如果文档没有焦点,那么关键的听众将无法收听。。。我把代码改成:
jQuery(document).keyup(函数(e){if(e.keyCode==27){jQuery('.hide').trigger('.click');jQuery('#mainFrame').contents().find('.hide').trigger('click');})
可以工作,但这不是一种解决方法,而不是一段漂亮干净的代码吗?将代码更改为什么?抱歉,很快按enter键..您可以从iframe绑定它,并在关闭它时解除绑定。