2013-10-17 129 views
0

我有一個頁面,其中包含一個iFrame,並在iFrame內是一個表的行我想附加一個單擊事件。jQuery的父母和孩子iFrame窗口之間的通信

通常情況下,這很容易,但我需要從父窗口中檢索iFrame中選定的表格行,這引發了我的循環。

其基本思想是,當用戶點擊一個表格行時,一個類被添加到使用類似這樣的東西(僞代碼,有功能可以刪除該類的任何現有實例,因此它是唯一的):

$('#table tr').on('click', function() { 
    .addClass('.selectedRow'); 
}); 

然後在我想我可以做這樣的事情的父窗口:

$('#desktopIframe').contents().find('.selectedRow'); 

但我不知道該怎麼重視這讓只要有一個錶行與'selectedRow'類我可以識別它並用它做一些其他的事情。通常我會使用.on('click'),但是我將它附加到了什麼?

回答

0

你會想是這樣的

$('#desktopIframe').contents().find('#table tr').on("click", function() { 
    $(this).addClass(".selectedRow"); 
}); 

(請注意,這是未經測試)

+0

感謝您的迴應,但它似乎並沒有工作。 – Roy

+0

你看到任何錯誤嗎? – bhb

+0

在控制檯中看不到任何東西彈出,根本沒有任何事情發生 – Roy

0

我找到了解決我的問題,這實際上涉及到倒車我要去的邏輯。我沒有讓父窗口讀取子窗口,而是讓子窗口將數據傳遞給父窗口。

所以iFrame中我用了一個常規的。對(「點擊」)事件然後就用這個代碼從選定行的一些數據傳遞給父窗口一個字段,然後我就可以操縱:

parent.document.getElementById('hiddenField')。value = $(this).blah();