2017-01-07 2 views
1

インデックスページが読み込まれるときにポップアップを1回だけ読み込む必要があります。私はすべてのページに同じbodyタグを使用しています。ここでアンカータグをクリックしてbodyタグのonload関数を無効にする方法はありますか?

は、マイページのonloadポップアップし、 "about.php" ページに行ったときのJsは

$(document).ready(function(){ 

$("#ac").on("click", function(){ 

$('body').off(load); 
}); 

loadPopUp(); 

}); 

function loadPopUp() 
{ 

alert('xyz'); 
} 

ファイル

HTMLファイル

<body> 
--------- 
------------ 
<a id="ac" href="about.php">About</a> 
</body> 

、私のコードです無効にする必要があります。

これに関するいくつかの提案や指示をお願いします。

ありがとうございました。

+0

あなたは実際のフィドルを提供できますか? –

答えて

-1

使用方法

$("#ac").one("click",function(){ }); 

一度発生します方法は、バインド解除。

機能が確実に機能するようにするには、ブラウザごとにを一度だけ起動します。localStorageを使用できます。

あなたのセッションストレージにフラグを設定する必要が
if (localStorage.getItem("SomeSiteVisitFlag") === null) { 
    // Set the flag here (using the code in the event handler below) 
    // To indicate the user has visited any page of your site 
    $("#ac").one("click",function(){   
     // Set the flag here to indicate that the person clicked on #ac 
     localStorage.setItem("SomeSiteVisitFlag",true); 
    }); 
} 
+0

'$ .one()'は、一度ではなく、一度page_ load_を一度起動するとイベントを発生させます。 – duskwuff

+0

ローカルストレージは永久保存用に使用されています – Sajan

+0

@Sajan - これは**常に**大胆です。アプリケーションの要件によって異なります。 – user2182349

2

、フラグが

$(document).ready(function(){ 
    if(sessionStorage.getItem("popupflag")===null){ 
    loadPopUp(); 
    //sessionStorage.setItem("popupflag","true"); 
    } 
}); 

すると、あなたがアンカーをクリックし、使用上のクリックイベントにこのコードを無効にしたい場合は、ときに近いブラウザリセットされます

$("#ac").on("click", function(){ 
    sessionStorage.setItem("popupflag","true"); 
}); 
関連する問題