Javascript Jquery ChangeEvent全局变量

Javascript Jquery ChangeEvent全局变量,javascript,jquery,events,jquery-mobile,global-variables,Javascript,Jquery,Events,Jquery Mobile,Global Variables,我有这个密码 var anyChange = false; function init(){ $('.saveSettingsEvent').bind("change",function(){ anyChange = true ; } ); } 事件被激发,但变量(anyChange)保持“true”,仅在匿名函数中 我使用: Jquery 1.8.2 JqueryMobile 1.2 我错在哪里?

我有这个密码

    var anyChange = false;

    function init(){

    $('.saveSettingsEvent').bind("change",function(){
          anyChange  = true ;   
        }
     );
    }

事件被激发,但变量(anyChange)保持“true”,仅在匿名函数中

我使用:

  • Jquery 1.8.2

  • JqueryMobile 1.2

我错在哪里?
Thnx

我给你写了一个例子

var anyChange = false;

$(function() {
    $('.saveSettingsEvent').bind('change',function(){
        anyChange  = true ;   
    });
    $('button').click(function() {
        alert(anyChange);
    });
});

它按预期工作。anyChange设置为true并保持为true

所以,如果你需要更多的帮助,我们需要更多的信息


我假设,其他一些代码将您的变量设置回false,或者您的更改事件从未被触发…

真正的解决方案

(待定)

解决方法

我在主体的末尾制作了一个带有自定义属性的自定义标记

触发事件时,将属性设置为Trueres

$(function() {
    $('.saveSettingsEvent').bind('change',function(){
        $("#anychange").attr('res','true');  
    });

});
如果


如何检查变量没有从外部更改?给你一点建议下一个问题,你应该提供更多的信息和代码。你在哪里查的?您是如何检查的?
if(anyChange!=false){//Do Somthing}
if(anyChange==true){//Do Somthing}
请导入表单标记。我在表单中使用此代码。所有输入、选择和复选框都具有此类(“saveSettingsEvent”)。我试图更改“anyChange”的名称。。。但仍然不起作用。然后我尝试了你的代码,但仍然不起作用。我看到的唯一解决方案是使用自定义的“attr”或“tag”插入DOM树。请记住,当触发更改事件时,有时还需要单击或键入。在输入上,当您离开时会触发更改事件。。。
$(function() {
    $('.saveSettingsEvent').bind('change',function(){
        $("#anychange").attr('res','true');  
    });

});
var resToSave = $("#anychange").attr('res');
if(resToSave == 'true'){
   // Do Something
   ...
   // Reset attr
   $("#anychange").attr('res','false');
}