[英]How to call only one button click function when user press enter from Textbox in Jquery?
[英]How to only let the user call my function one
我試圖通過讓用戶單擊一個按鈕來移動一個框,但我只希望用戶能夠在“javascript”中調用一次 function。
function myMove() {
let id = null; let id2 = null;
const elem = document.getElementById("animate");
let pos = 0;
clearInterval(id);
id = setInterval(frame, 1);
function frame() {
if (pos == 250) {
clearInterval(id);
id2 = setInterval(backframe, 1);
} else {
pos++;
elem.style.top = pos + "px";
elem.style.left = pos + "px";
}
}
function backframe() {
if (pos == 0) {
clearInterval(id2);
id = setInterval(frame, 1);
} else {
pos--;
elem.style.top = pos + "px";
elem.style.left = pos + "px";
}
}
}
要添加一個只觸發一次的事件監聽器, addEventListener
可以接受 3 個參數, type, listener, options
options
是一個 object ,它有一個名為once
的屬性,您已將其設置為true
。
前任:
button.addEventListener('click', myMove, { once: true })
將這些修改應用於您的代碼:
let wasUsed = false;
function myMove() {
if (wasUsed) return; // stops the function if it has ran before
wasUsed = true;
// the rest of your function doesn't change:
let id = null; let id2 = null;
...
}
button.addEventListener('click', myMove, { once: true })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.