Llegué a evenListeners uno para iniciar el temporizador y otro para detenerlo. ¿Es posible hacer que el de inicio funcione solo una vez y luego se deshabilite hasta que se haga clic en el botón de detener?
startButton.addEventListener("click", startTimer); stopButton.addEventListener("click", function stopFunction() {})Sí, solo puede usar removeEventListener
function startTimer() { // whatever code // Disable after use startButton.removeEventListern("click", startTimer); } startButton.addEventListener("click", startTimer); // Reset listener after stop button clicked stopButton.addEventListener("click", () => { startButton.removeEventListener("click", startTimer); startButton.addEventListener("click", startTimer); });También se puede simplificar con taquigrafía:
const disableBtn = () => startButton.removeEventListener("click", startTimer); const enableBtn = () => (disableBtn(), startButton.addEventListener("click", startTimer)); function startTimer() { // whatever code disableBtn(); } enableBtn(); stopButton.addEventListner("click", enableBtn);al usar la línea a continuación, puede eliminar el oyente.
startbutton.removeEventListener("click", startTimer);y si desea manejarlo con otro botón, simplemente llame a una función al hacer clic.
function stopFunction() { startbutton.removeEventListener("click", startTimer); });