JS Butona basılı tutma
Mehraba bir işlem yaptırıyoruım işlemde butona 3 saniye basılı tutuca ajax calıstırıcam elinde örnek kod ola nvar mı
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
Bir buttona 3 saniye basılı tutulduktan sonra bir AJAX Sorgusunu Çalıştırmak
için JavaScript'teki setTimeout işlevini kullanabilirsin.
Örnek kod
let timeoutID
document.getElementById("Button").addEventListener("mousedown", function() {
timeoutID = setTimeout(ajaxCall, 3000);
});
document.getElementById("Button").addEventListener("mouseup", function() {
clearTimeout(timeoutID);
});
function ajaxCall() {
// Ajax kodlarınız burada
}
Button kimliğine sahip butona basılı tutulduğunda,
setTimeout işlevi 3 saniye (3000 milisaniye) gecikmeyle çağrılır
<button id="btn">Tıkla</button>
<div id="result"></div>
let intervalId,
sayac = 0,
btn = document.getElementById('btn'),
result = document.getElementById('result')
btn.addEventListener('mousedown', () => {
result.innerText = 'Tıklama işlemi başladı';
intervalId = setInterval(() => {
sayac++;
result.innerText = sayac.toString();
if (sayac === 3) {
result.innerText = '3 saniye oldu, işlem yapılabilir'
clearInterval(intervalId);
sayac = 0;
}
}, 1e3);
});
['mouseup', 'mouseleave'].forEach(e => {
btn.addEventListener(e, () => {
clearInterval(intervalId);
sayac = 0;
result.innerText = ''
});
});