我有这段代码:
$(document).keyup(function(e) {
if (e.keyCode == 27 && $('#dropdown-themes2').is(":visible")) {
$('#dropdown-themes2').hide();
}
if (e.keyCode == 27 && $('#style-inner').is(":visible")) {
$('#style-inner').hide("slide", { direction: "left" }, 100);
$('#panel-opener').animate({left:"0"}, 100).css({'background-image':'url(img/gear.png)',
'background-color':'#fff'}).attr('title','Open');
}
});
因此,在按ESC时,一个项目应该滑动(关闭)。当我在父母身边时它的工作正常。但是当我点击并在iframe内部工作时,ESC无效。 现在这有意义,因为我需要以某种方式从iframe内部访问父元素。所以我尝试添加parent.document,因此代码将是:
$(document).keyup(function(e) {
if (e.keyCode == 27 && $('#dropdown-themes2',parent.document).is(":visible")) {
console.log('radi');
$('#dropdown-themes2',parent.document).hide();
}
if (e.keyCode == 27 && $('#style-inner',parent.document).is(":visible")) {
$('#style-inner',parent.document).hide("slide", { direction: "left" }, 100);
$('#panel-opener',parent.document).animate({left:"0"}, 100).css({'background-image':'url(img/gear.png)',
'background-color':'#fff'}).attr('title','Open');
}
});
但没有。我在iframe很难过。
答案 0 :(得分:0)
回答我自己的问题:
例如,如果我想在id #displayframe的IFrame中单击时隐藏父文档中的一个元素,我就这样做了:
$('#displayframe').load(function(){
var iframeRef = document.getElementById('displayframe');
$(iframeRef).contents().click(function(){
$(document, parent.window.document).contents().find('#style-inner').hide();
});});