1

我是编码和使用 Lab.JS 进行项目的新手。我有一个按钮,当按下它时,它会计算点击次数,然后将其记录在控制台中。重要的是,当按下按钮时,点击次数不会显示在屏幕上,并且对按下按钮的人来说是隐藏的。我只想计算点击次数,但我不确定如何修复代码 iAny 帮助将不胜感激。

var clicks = 0;
trigger = function() {
clicks += 1;
document.getElementById("trigger").innerHTML = clicks;
}
console.log(clicks)
<button class="trigger" id="trigger" onclick="trigger()">SUBMIT</button>

4

3 回答 3

0

请尝试此代码。

  <body>
    <button onclick="trigger()">Click Me</button>
    <script>
      // Initiate a global variable a
      var a = 0;
      function trigger() {
        a++;
        console.log(a);
      }
    </script>
  </body>

只要您使变量全局化。在用户关闭页面或选项卡之前,它将仅保存该页面的值。

于 2020-03-06T11:54:06.507 回答
0

您可以添加一个新的 div 并使用以下计数更新它,而不是更新按钮的 HTML:

var clicks = 0;
trigger = function() {
  clicks += 1;
  document.getElementById("display").innerHTML = clicks;
}
#display {
  padding: 20px;
  margin: 10px;
  font-size: 2rem;
}
<div id="display">0</div>
<button class="trigger" id="trigger" onclick="trigger()">SUBMIT</button>

于 2020-03-06T12:00:11.147 回答
0

如果你不想拥有一个全局clicks变量,你可以将它封装在函数本身中,并返回一个闭包

// Default `clicks` to zero
function trigger(clicks = 0) {

  // Return a new function that increases
  // the click count
  return function () {
    console.log(++clicks);
  }
}

// Call trigger and assign the returned function
// to a new variable called counter
const counter = trigger();

// Move the inline `onclick` listener to the JS
// Call `counter` when the button is clicked
const button = document.querySelector('.trigger');
button.addEventListener('click', counter, false);
<button class="trigger">SUBMIT</button>

于 2020-03-06T12:08:30.047 回答