2017-06-20 3 views
1

Ich habe eine Frage zu onclick popup. Wie man es nur einmal pro Unikat anzeigt, weil der Popup-Link immer geöffnet wird, nachdem ich überall auf meiner Website geklickt habe.Wie Onclick Popup nur einmal anzeigen

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

Also, wie man es nur einmal zeigen lassen?

+1

Wie befestigen Sie diesen Handler mit 'onclick'? –

Antwort

1

Sie könnten versuchen, den Zustand Ihrer Popup in einer var speichern:

var popupShown = false; 

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

Vielen Dank für Ihre Antwort, jetzt erscheint mein onclick Popup nur einmal, wenn ich auf die gewählte Seite klicke. –

0

Sie mögen dieses

Speichern Sie Ihre Fenster Zustand in einer Variablen könnten versuchen, und wieder verwenden, wenn Sie andere öffnen möchten URL

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

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

    } 

</script> 
1

Gestützt auf Informationen bereitgestellt ich gehe davon aus, dass Sie auf click die load Handler einen Ihres Zielelement zu befestigen versuchen Ereignis und nach dem ersten Klick sollte der Ereignishandler nicht ausgelöst werden.

Daher kann ich vorschlagen, dass Sie die once Option der addEventListener() Methode verwenden:

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

weitere Informationen hier bei MDN holen.

+0

Verwenden Sie in der jQuery-Welt eine Methode, die Ereignisname und Rückruf akzeptiert. Siehe hier: http://api.jquery.com/one/ –