繁体   English   中英

从jQuery的子窗口到父窗口的通知

[英]Notification to the parent window from child window in jQuery

我在父窗口中释放div时遇到问题。 我需要执行以下操作:在box.html(从index.html打开)上,在div id = product1上,在父窗口(index.html)中,应释放div id = wProdBox1。 如何显示jquery / css来做到这一点?

这是index.html

<div id="box1">Text</div> 

<div id="wBox1">
  <a href="#" class="hideLink">[X]</a>
  <object id="objPage" name="foo" type="text/html" data="box.html"></object>
</div> 

<div id="wProdBox1">
  <a href="#" class="hideLink">[X]</a>
  <object id="objPage2" name="foo" type="text/html" data="box1.html"></object>
</div>

<script type="text/javascript"> 
  $("#box1").click(function () { 
    $("#wBox1").show("slow"); 
    $("body").addClass("scroll"); 
  });
</script>

这是box.html

<div id="product1">Text box</div>
<script type="text/javascript">
  $("#product1").click(function () { 
   $("#wProdBox1").show("slow");  //HERE IS PROBLEM
  }); 
</script>

如果您将box.html作为新窗口打开,并且想要更改index.html中的某些内容,则必须使用opener进行引用:

opener.$("#wProdBox1").show("slow");

jQuery允许您在选择器之后传递窗口引用:

$("#wProdBox1", window.opener.document).show("slow");

我想通过将window.opener.document存储在变量中来简化此操作:

$( function() {
    var main = window.opener.document;

    $("#product1").click(function () { 
        $("#wProdBox1", main).show("slow");  //HERE IS FIX
    });
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM