2016-05-26 19 views
-1

各ページのテンプレートファイルから読み込んでいるページ設定オプションを使用しています。私は一度ポップアップを開くためにクリックしたポップアップウィンドウを開くために実施している:ページングでクリックしたときにlocation.hrefを一度だけ開きます

<a onClick="location.href='http://google.com/';" target="_blank"" href="http://www.yahoo.com"</a> 

だから、私の質問は:一度だけ動作して、これを制限する方法はありますか?このウィンドウを1回だけ開くには?だから、ユーザーが他のページをブラウズしているとき、私はそれが動作しないようにします。

私が見るのは、彼がクリックしたかどうかを記録するために、ユーザーのクッキーまたはセッションを作成する必要があるということです。もっと簡単な方法があれば私はさまよっていた。

助けを歓迎します。前もって感謝します。 jQueryを使って

+0

何を開くことを期待されているJavaScriptのバニラに付着して? googleかyahooか? –

+0

閉じても、一度そのウィンドウを開くことができるということを意味しますか?それとも、一度に開くことができるウィンドウは1つだけですか?もっと重要なのは、あなた自身でこれを解決しようとする研究は何ですか? –

+0

2つ目のウィンドウを開くと、ページの2番目のページをクリックした後、3番目または他のものを再度クリックしてhref = ""のみを開くと、既に開いているポップアップウィンドウがあるかどうかは重要ではありません。 –

答えて

1

あなたはこのようにそれを行うことができます。

<a class="do-it-once">Only Once</a> 

$(".do-it-once").on("click",function openLink(){ 
    location.href='http://google.com/'; 
    $(this).off("click",openLink); 
}); 

しかし、これは、ページのロード毎回動作します。だから私は空白のページでGoogleを開くことをお勧めします。

1

はこれよりもっと良いものを考えることができない - 少なくとも

(function(){ 
 
    
 
    
 
    document.getElementById('one-click').addEventListener("click", fn); 
 
    
 
    function fn(event){ 
 
    event.preventDefault(); 
 
    alert('First click'); 
 
    this.removeEventListener(event.type, fn); 
 
    }; 
 
    
 
})();
<a id="one-click" href="http://www.yahoo.com">Yahoo!</a>

関連する問題