在日常开发当中,我们经常会遇到当进行一次操作以后,想要改变它的状态值,然后进行第二次操作的时候会是另外一种状态值,根据状态值的不同然后判断进行相应的操作,那么标志位就显得尤为重要了,它可以帮助我们解决日常开发当中的一些比较复杂的操作,废话不多说,举个简单的小案例供大家参考:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js"></script> <style> input { width: 220px; height: 34px; padding-left: 10px; border: 1px solid #e7eaec; margin: 5px 10px; } </style> </head> <body> <form action="" class="formIpt"> <input class="iptSv1" maxlength="20" type="text" value=""><br/> <input class="iptSv2" maxlength="20" type="text" value=""><br/> <input class="iptSv3" maxlength="20" type="text" value=""><br/> <input class="iptSv4" maxlength="20" type="text" value=""><br/> <button type="button" class="btnSave">保存</button> </form> <script> allObj = { //设置标志位的变量对象,我这里直接用0和1,0代表val没有输出,1代表val有值,默认都没有值 "ipt": 0, } $(".formIpt").on("blur", 'input', function () { var fothis = $(this); if(fothis.val()){ allObj.ipt = 1; //当val有值的时候改变变量对象的默认值 }else{ allObj.ipt = 0; //当val没有值的时候重新重置标志位的值为0 } }) $(".btnSave").on("click", function () { if(!allObj.ipt){ //如果没有对输入框进行操作那么就不让它保存 即:allObj.ipt==0 console.log("没有对输入框进行操作,不允许保存"); }else{ //如果对输入框进行操作那么就让它保存 console.log("已经对输入框进行操作,允许保存"); } console.log(allObj); }) </script> </body> </html>
简单的小demo就演示到这,这只是简单的案例希望对大家有一定的参考,谢谢!