在 n 单击时将 href 添加到锚标记

Add href to anchor tag on the n click

<section>
        <a **id="download"**  oncontextmenu="return false" > <svg ...
          </svg></a>
</section>
<script type="text/javascript">

下面的代码只是为了获得前 2 次点击。

$("#download").click(function(){
  $("#download").attr("oncontextmenu", "false");
});

$("#download").click(function({
  $("#download").attr("oncontextmenu", "false");
});

这是在第 3 次点击时添加 HREF 的最终函数。

$("#download").click(finalfunction({
$("#download").attr("href", "<%= downloadLink %>");
});

</script>

但是这段代码不起作用。请帮助我。

  1. ID 必须是唯一的。使用 class.

  2. 有一个 eventListener 并计算其中的点击次数

尝试这样的事情

我添加了一些调试

$(".download").on("click",  e => {
  const anchor = e.currentTarget;
  let cnt = anchor.dataset.cnt;
  if (cnt === "2") {
    anchor.href = anchor.dataset.href;
    console.log("clicked 3 times")
  }  
  else {
    cnt++;
    anchor.dataset.cnt = cnt;
    $(".count",anchor).html(`Click ${3-cnt} more time${3-cnt === 1 ? "" : "s"}`)
    e.preventDefault()
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<section>
  <a class="download" href="#" data-cnt="0" data-href="...." class oncontextmenu="return false"><span class="count">Click 3 times</span> <svg ... </svg></a>
  <a class="download" href="#" data-cnt="0" data-href="...." class oncontextmenu="return false"><span class="count">Click 3 times</span> <svg ... </svg></a>
</section>