2017-01-07 93 views
1

索引頁加載時,我只需要加載一次彈出窗口。我在每個頁面中都使用了相同的身體標記。如何通過點擊錨標籤來禁用body標籤上的onload功能?

這裏是我的代碼,

HTML文件

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

JS文件

$(document).ready(function(){ 

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

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

loadPopUp(); 

}); 

function loadPopUp() 
{ 

alert('xyz'); 
} 

當我的網頁去 「about.php」 頁,onload事件彈出應該禁用。

請給出一些建議或指示。

謝謝。

+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

'$。一()'使事件火災一旦_per頁load_,一次也沒有過。 – duskwuff

+0

本地存儲用於永久存儲 – Sajan

+0

@Sajan - 這就是爲什麼** ever **是粗體的。這取決於應用程序的要求。 – user2182349

2

您需要設置一個標誌,你的會話存儲,該標誌將重置,當你關閉瀏覽器,

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

,如果你想在錨點擊使用禁用的單擊事件的代碼

$("#ac").on("click", function(){ 
    sessionStorage.setItem("popupflag","true"); 
});