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');
}