如何通过单击锚标记禁用body标签上的onload函数?

时间:2017-01-07 03:00:45

标签: javascript php jquery html

加载索引页面时,我只需加载一次弹出窗口。我在每个页面都使用了相同的body标签。

这是我的代码,

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 pop up。

请就此提出一些建议或指示。

感谢。

2 个答案:

答案 0 :(得分:2)

您需要在会话存储上设置一个标志,当您关闭浏览器时,该标志将重置

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

如果要在锚点上禁用,请在点击事件

上使用此代码
$("#ac").on("click", function(){
    sessionStorage.setItem("popupflag","true");
});

答案 1 :(得分:-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); 
    });
}