2014-01-07 43 views
0

我已經打開一個外部URL作爲彈出窗口。如何使用javascript在彈出窗口中捕獲事件?

var myWindow = window.open("http://google.com/","MsgWindow","width=500,height=600"); 

現在,我需要檢查用戶是否點擊搜索按鈕。

我嘗試使用jQuery選擇像

myWindow.$('#gbqfba').onClick(function(){ 
    alert('abc'); 
}); 

選擇但是,這是行不通的。 :(你能幫助我..

在此先感謝。

+0

所以你想一個警報追加到谷歌上的搜索按鈕? – Fallenreaper

+0

如果用戶點擊搜索按鈕,我需要觸發警報。就這樣。 – Sriraman

+0

嘗試:$('#gbqfba「)。on(」click「,function(){alert(」abc「);}); – Fallenreaper

回答

1

這隻能在兩個頁面在同一個域下時纔有效。

這將您的控制檯上工作,而你在stackoverflow.com:

var myWindow = window.open("http://stackoverflow.com/","MsgWindow", "width=500","height=600"); 
$(myWindow).on('click', 'a', function() {alert('a')}) 

這不會:

var myWindow = window.open("http://google.com/","MsgWindow", "width=500","height=600"); 
$(myWindow).on('click', 'a', function() {alert('a')}) 
0

爲什麼你就不能捕捉搜索按鈕的點擊?

<button type="button" id="search">Search</button> 

,並在您的jQuery

$("#search").click(function(){ 
    var myWindow = window.open("http://google.com/","MsgWindow","width=500,height=600"); 

}); 
0

我不認爲你可以使用javascript來檢測事件發生在不同的窗口 你可以嘗試,而不是使用window.open(),加載頁面(google.com在你的cas e)以lightbox或類似js插件的形式發佈到iframe。

即使你這樣做了,瀏覽器也不會讓你利用iframe中的內容。您將無法準確檢測到用戶點擊的內容,但只要用戶使用此腳本觸發了單擊事件,您就可以找到它。

$('window').click(function(e){ 
    console.log('User Clicked outside the iframe'); 
}); 

$('window').blur(function(e){ 
    console.log('User clicked on the iframe or outside the page'); 
});​ 
相關問題