JS在更改事件中循环在JS中确认

js on change event getting looped in js confirm

本文关键字:JS 循环 确认 事件      更新时间:2023-09-26

我有一个翻转切换按钮()。我正在编写一个关于切换按钮更改的函数,在更改时我声明js确认框,如果确认为真,按钮将保持更改状态,否则它将恢复到以前的状态。我的问题是函数正在迭代(循环)。请建议

对我来说,

它看起来还不错。也许你只是忘记将你的代码封装在$(document).ready中 - 这是必要的,因为否则你的Javascript函数将在HTML DOM加载之前加载 - 所以你的函数将无法访问DOM元素。

$(document).ready(function() {

 $("#btn").on("change", function() {
     var txt;
     var btnStatus = $("#btn").val();
     console.log("btnstataus>>>>>" + btnStatus);
     var r = confirm("Are you sure to change?");
     if (r == true) {
         if (btnStatus == "on") {
             $("#btn").val("on");
         } else {
             $("#btn").val("off");
         }
     } else {
         if (btnStatus == "on") {
             $("#btn").val("off");
         } else {
             $("#btn").val("on");
         }
     }
 });
});

下面是代码的工作示例:https://plnkr.co/edit/AdzcN04F1fsLe9xw454j?p=preview