Javascript 只需单击一次按钮即可重新加载页面一次
我有一个加载按钮,我在该按钮上调用onclick事件,它将使用Javascript 只需单击一次按钮即可重新加载页面一次,javascript,Javascript,我有一个加载按钮,我在该按钮上调用onclick事件,它将使用window.location.reload()刷新页面。但是,我想要的是,重载应该只在第一次单击按钮时调用。从第二次单击到HTML页面处于活动状态,不应调用重载 如何使用javascript实现这一点?任何示例都会很有帮助。您需要在单击事件中的按钮标记上添加禁用属性 如果您使用的是jQuery,则类似于这样 $('button')。在('click',function()上({ …您的代码在这里 $(this.attr('dis
window.location.reload()
刷新页面。但是,我想要的是,重载应该只在第一次单击按钮时调用。从第二次单击到HTML页面处于活动状态,不应调用重载
如何使用javascript实现这一点?任何示例都会很有帮助。您需要在单击事件中的按钮标记上添加禁用属性 如果您使用的是jQuery,则类似于这样
$('button')。在('click',function()上({
…您的代码在这里
$(this.attr('disabled');
})处理此问题的一种方法是更改onClick执行的操作。请尝试查看此处:您可以尝试在第一次重新加载时发送一个参数,并使用该参数更改按钮的操作
比如:
<script>
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
return false;
}
var secondReload= getQueryVariable("secondReload");
if(!secondReload){
//if button clicked
window.location.reload();
}else{
//deactivate button
}
</script>
函数getQueryVariable(变量){
var query=window.location.search.substring(1);
var vars=query.split(&);
对于(var i=0;i,您可以使用或来实现这一点。这是一种利用的现代方法
在这种情况下,您可以在存储器中设置一个属性来保持按钮单击,并且只有在尚未单击按钮时才进行刷新
可以按照以下代码段执行此操作:
$('button').on('click', function() {
// will return null at the first call
var buttonClicked = sessionStorage.getItem('isButtonClicked');
// will only enter if the value is null (what is the case in the first call)
if (!buttonClicked) {
// set value to prevent further reloads
sessionStorage.setItem('isButtonClicked', true);
// reload the page
window.location.reload();
}
});
如果您想了解更多有关web存储API的详细信息,可以找到一个更详细的示例。使用本地/会话存储
使用cookies,可能吗?可以在不禁用按钮的情况下执行此操作。我阅读OP是因为他希望避免人们在重新加载按钮时双击按钮。因此,可以将其禁用。或者删除我他明确提到“从第二次单击到HTML页面激活,不应该调用重载”——因此按钮仍然可以单击,但不应该发生任何事情。