我有这段代码。
var anyChange = false;
function init(){
$('.saveSettingsEvent').bind("change",function(){
anyChange = true ;
}
);
}
...
onload='init()
事件被触发,但变量(anyChange)仍为'true',仅在匿名函数内。
我用:
Jquery 1.8.2
JqueryMobile 1.2
答案 0 :(得分:1)
我为你写了一个例子。
var anyChange = false;
$(function() {
$('.saveSettingsEvent').bind('change',function(){
anyChange = true ;
});
$('button').click(function() {
alert(anyChange);
});
});
它按预期工作。 anyChange设置为true并保持为真。
因此,如果您需要更多帮助,我们需要更多信息。
我认为,其他一些代码会将您的变量设置为false,或者您的更改事件永远不会被触发......
答案 1 :(得分:0)
真实解决方案
(待定)
解决方法
我在Body的末尾创建了一个带有自定义属性的自定义标记。
触发事件时,将属性 res
设置为True$(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');
}