0

我有这个代码:

  $(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。

4

1 回答 1

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();
     });});
于 2012-10-13T13:02:10.767 回答