如何在iframe中获取单击事件会在父框架中触发警报

时间:2012-02-14 12:43:28

标签: jquery

我的页面上有几个嵌入式iframes,我正在ifram e中查找点击事件,以触发父框架上的警报。 (iframe和父框架都是相同的域名。)

iFrame HTML元素(iframe的类为class="iframe1"

<a class="button" href="#">Trigger Parent Frame Alert</a>

iFrame jQuery:

$(document).ready(function() {  
  $('.button').click(function() {
    window.parent.triggerAlert();
  });
});

Parent Frame jQuery:

$(document).ready(function() {
function triggerAlert(){
    alert('iFrame button has been clicked');
  }
});

我认为我的父框架功能不完整 - 并不完全确定iframe可以与父DOM通信?

我之前尝试过这种替代方案,在父框架中没有运气:

$('.iframe1').contents().find('.button').click(function () {
  alert("iFrame button has been clicked");
});

2 个答案:

答案 0 :(得分:1)

为了使您的功能对iframe可见,您需要将其声明为窗口对象的成员:

$(document).ready(function() {
    window.triggerAlert = function (){
        alert('iFrame button has been clicked');
    }
});

答案 1 :(得分:0)

您触发警报功能处于关闭状态。 试试这个:

$(document).ready(function() {
 window.triggerAlert = function triggerAlert(){
    alert('iFrame button has been clicked');
  };
});