我在一個網頁上打開一個帶有圖片選擇器的彈出窗口。添加到選擇列表的圖片會立即克隆爲開啓窗口的縮略圖 - 該部分工作正常。當我試圖讓這些縮略圖點擊,像這種情況如何在開啓器窗口的元素中添加onclick函數?
問題:
opener.document.getElementById("someid").onclick = function(){ alert("bam!"); }
到目前爲止,我只設法時仍然會打開一個彈出窗口(而不是純警報(有這方面的工作? )我用opener.window.alert("bam!")
)。但是,當我關閉彈出窗口時,單擊縮略圖會導致錯誤。
有誰有類似的問題,並得到它的工作?提前致謝。
UPDATE:
OK,我發現不是最漂亮的解決方案,但到目前爲止,它的工作原理。我曾在揭幕戰窗口申報額外功能:
function addbam(id){
document.getElementById(id).onclick = function(){ alert("bam!"); }
}
並在彈出窗口:
opener.addbam("someid");
如果此解決生存多瀏覽器測試中,它會陪在我身邊,但我敢確保應該可以以非常直接的方式從這種onclick聲明中刪除「錯誤的」範圍。
謝謝你們,你們的建議讓我想到了更富有成效的方式。
'open er'屬性給你父窗口的'window'對象 - 'getElementById'是'document'而不是'window'的屬性。改爲使用'window.opener.document.getElementById ...'。這就是說,'opener.window'是多餘的。 – jbabey
你說得對。實際的代碼使用opener.document.getElementById和opener.window.alert。對不起,因爲缺乏準確性。我現在將編輯該問題。 – user1964112