我尝试制作一些处理事件的脚本,例如“面板更改跟随URLhash”。按钮或链接上的事件我没有问题但是当我刷新页面时我遇到了问题。我的面板无法保持其值并自动重置。
我尝试解决这样的刷新问题:
<script>
document.addEventListener('keydown', function(e) {
if(e.which == 116) {
window.alert("1234");
var id = window.location.hash;
changePanel(id);
}
}, false);
</script>
正如代码我给你看的那样。 alert()函数是工作。但是changePanel()它不起作用。我认为因为alert()在刷新之前已经运行了,而且还有changePanel()。但是在changePanel()的情况下,它会在刷新之前运行,然后在刷新之后所有更改都会重置为默认值。
刷新后如何运行changePanel()?
答案 0 :(得分:0)
它不起作用,因为在按下f5
页面后会刷新,所以新的内容会出现在页面上,因此您的面板/标签会重置..
您可以在
上试用代码$(document).ready(
var id = window.location.hash;
changePanel(id);
);
上面的代码会在刷新按钮后自动设置标签,你可以按下按钮上的那两行相同的代码,这样也适用于你的实况页面。 :)
这对你有用。
感谢。
答案 1 :(得分:0)
对我来说效果很好。
通过html调用功能
<button type="button" name="button" onclick="loro()">fdthd</button>
JS文件
function loro() {
location.reload();
localStorage.setItem("po", "momo");
}
$(window).on("load", function() {
if (localStorage.getItem("po") === "momo" ) {
alert('Bien, ejecutaste el boton')
localStorage.setItem("po", "lulu");
} else {
alert('No has precionado el boton')
}
});
在刷新页面之前,我运行一个功能以将“ momo”值保存在“ po”键中 之后,我刷新页面并检查PO是否具有momo的值。根据我是否在刷新之前运行该函数,它将运行特定的警报。