2012-09-04 96 views
0

如何將點擊事件分配給ifraem內的元素?如何將點擊事件分配給iframe中的元素?

我開始了一篇文章,檢測iframe是否被加載。

How can I detect whether an iframe is loaded?

和我有進一步的quesitons

如何分配一個事件或操作iframe中的元素?

我試過..

$(function(){ 
    $('#click').on('click', function(){ 
     var ifr=$('<iframe></iframe>', { 
      id:'MainPopupIframe', 
      src:'http://heera.it', 
      style:'display:none', 
      load:function(){ 
       $(this).show(); 
       alert('iframe loaded !'); 
      } 
     }); 
     $('body').append(ifr);  

    //when I click the home page button, nothing happen... 
    $('#menu-item-277').click(function(){ 
     alert('click!!!'); 
    }) 
    }); 
}); 
​ 

感謝您的幫助。

+1

你不能(根據大多數瀏覽器)。 –

+0

也許你應該嘗試獲取該頁面的內容並自行追加。 –

回答

1

由於跨域安全限制(同源策略),如果iframe的內容存在於父頁面以外的域中,則這是不可能的。

如果您有權訪問這兩個域,您可以嘗試使用Ben Alman的優秀PostMessage等插件來設置跨域/跨瀏覽器iframe通信流。然後,您可以綁定到本地DOM元素的click事件,並向iframe發送一條消息,輪詢循環可以偵聽該消息,並觸發iframe中的click事件。

我希望這會有所幫助。

相關問題