2013-03-15 43 views
1

我试图让一些脚本处理事件,如“面板更改遵循URLhash”。我没有按钮或链接事件的问题,但我刷新页面时出现问题。我的面板无法保持其值并自动重置。按F5(刷新)后如何运行功能?

,我尝试解决刷新问题是这样的:

<script> 
document.addEventListener('keydown', function(e) { 
    if(e.which == 116) { 
     window.alert("1234"); 
     var id = window.location.hash; 
     changePanel(id); 
    } 
}, false); 
</script> 

由于代码I所示你。 alert()函数是工作。但是changePanel()不起作用。我认为,因为alert()在刷新和changePanel()之前已经运行。但是,如果changePanel()在刷新之前运行,那么刷新后所有更改都会重置为默认值。

如何在刷新后运行changePanel()?

+0

请参阅http://stackoverflow.com/questions/2482059/disable-f5-and-browser-refresh-using-javascript(使用'e.preventDefault()'来防止刷新) – 2013-03-15 06:26:30

回答

0

它不会工作,因为毕竟f5页的印刷机将被刷新,以便新的内容会网页上,所以你的面板/选项卡复位..

您可以尝试在

$(document).ready(
    var id = window.location.hash; 
    changePanel(id); 
); 
代码

上面的代码会在刷新按钮后自动设置标签,并且您可以在按钮按下时保留相同的两行代码,以便您的活动页面也能正常工作。 :)

这将为你工作。

谢谢。