<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");
});
Вот последняя функция, которая добавляет HREF при третьем щелчке.
$("#download").click(finalfunction({
$("#download").attr("href", "<%= downloadLink %>");
});
</script>
Но этот код не работает. Помоги мне, пожалуйста.
1. Идентификаторы должны быть уникальными. Используйте класс. 2. Иметь ОДИН прослушиватель событий и считать клики внутри него
вы можете показать мне, написав код?
Идентификаторы должны быть уникальными. Используйте класс.
Имейте ОДИН прослушиватель событий и считайте клики внутри него
Попробуйте что-нибудь вроде этого
я добавил немного отладки
$(".download").on("click", e => {
const anchor = e.currentTarget;
let cnt = anchor.dataset.cnt;
if (cnt === "2") {
anchor.href = anchor.dataset.href;
console.info("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>
у вас есть такие же
id
download'
на 2<a>
?