簡體   English   中英

如果曾經點擊過按鈕,則運行一個函數,即使在頁面重新加載時

[英]Run a function if a button has ever been clicked, even on page reload

我有一個按鈕:

<script>
function never(){
alert('This is place holding text');
}
</script>
<button onclick="never()">Understood</button>

我需要使用本地存儲或 cookie 來記住按鈕是否被點擊過,如果有,運行該功能,如果在他們點擊按鈕之前沒有運行該功能,我有一個想法...

  1. 加載運行功能。
  2. 檢查按鈕是否被點擊,然后運行函數。
  3. 否則不運行功能。
  4. 如果單擊按鈕,則設置 cookie 或值以立即自動運行功能。

我不知道如何實際實現這一點,或者這是否行不通。 是的,我知道真正的解決方案是服務器端,但我沒有服務器。

你的意思是這樣嗎:

<button onclick="run()">Click</button>
function run(){
localStorage.setItem('item','value');
}

或者是其他東西 ??

您可以檢查此實現

您可以在單擊時將一些值存儲到localStorage ,然后稍后read這些值。

HTML

<button id="btn">Click Me</button>

JavaScript

const btn = document.querySelector("#btn");

if(localStorage.getItem('clicked')) btn.innerText = 'clicked once';


btn.addEventListener('click', handleClick);

function handleClick(event) {
  if(localStorage.getItem('clicked')) return;
  else {
    localStorage.setItem('clicked', true);
    btn.innerText = 'clicked once';
  }
}

或嘗試這種方式

 var someData = 'any data.'; localStorage.setItem('myData', '') function never(){ localStorage.setItem('myData', someData); alert('This is place holding text'); } var data = localStorage.getItem('myData'); if (data != ""){ never() } localStorage.removeItem('myData')
 <button onclick="never()">Understood</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM