2017-06-20 69 views
1

我有一個關於onclick彈出的問題。如何讓它每次顯示只顯示一次,因爲彈出鏈接在我點擊我的網站上的任何地方後總是打開。如何顯示Onclick彈出只有一次

<script type="text/javascript"> 
    function load() {window.open('http://...','_blank');} 
</script> 

那麼,如何讓它只顯示一次?

+1

你如何附加這個處理程序'onclick'? –

回答

1

你可以嘗試存儲在一個VAR你彈出的狀態:

var popupShown = false; 

function load() { 
    if(!popupShown) window.open('http://...','_blank'); 
    popupShown=true; 
} 
+0

謝謝你的回答,現在我的onclick彈出窗口只顯示一次,如果我點擊所選頁面。 –

0

你可以嘗試這樣的

商店的窗口狀態在一個變量和重新當你想打開其他使用根據提供的信息,網址

<script type="text/javascript"> 
    var popupWin = null; 
    function load() { 
     popupWin = window.open('http://...','_blank'); 
    } 

    function openOtherURL(){  
    popupWin.location.href = url; 

    } 

</script> 
1

我假設你正試圖將load處理程序附加到目標元素的一個上click事件和第一次點擊後事件處理程序不應該觸發。

因此,我可以建議你使用once選項addEventListener()方法:

element.addEventListener('click', load.bind(this), false, false); 

在這裏MDN獲取更多信息。

+0

在jQuery世界中,使用'one'方法接受事件名稱和回調。看到這裏:http://api.jquery.com/one/ –