Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过单击锚定标签禁用body标签上的onload功能?_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 如何通过单击锚定标签禁用body标签上的onload功能?

Javascript 如何通过单击锚定标签禁用body标签上的onload功能?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,当索引页加载时,我只需加载一次弹出窗口。我在每一页都使用了相同的body标签 这是我的密码 Html文件 <body> --------- ------------ <a id="ac" href="about.php">About</a> </body> $(document).ready(function(){ $("#ac").on("click", function(){ $('body').off(load); }); loadP

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

这是我的密码

Html文件

<body>
---------
------------
<a id="ac" href="about.php">About</a>
</body>
$(document).ready(function(){

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

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

loadPopUp();

});

function loadPopUp()
{

alert('xyz');
}
当我的页面转到“about.php”页面时,onload弹出窗口应该是禁用的

请对此给出一些建议或指示


谢谢。

使用one方法

$("#ac").one("click",function(){ });
one方法将触发一次,然后解除绑定

如果要确保每个浏览器只触发一次函数,则可以使用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); 
    });
}

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

$(document).ready(function(){
  if(sessionStorage.getItem("popupflag")===null){
    loadPopUp();
    //sessionStorage.setItem("popupflag","true");
  }
});
如果要禁用在锚定时单击,请在单击事件时使用此代码

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

你能提供一把工作小提琴吗?
$.one()
使事件在每次加载页面时触发一次,而不是一次。@Sajan-这就是为什么ever被加粗的原因。这取决于应用程序的要求。