0

我有这个代码。

    var anyChange = false;

    function init(){

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

...

 onload='init()

事件被触发,但变量 (anyChange) 保持为 'true',仅在匿名函数内部。

我用 :

  • jQuery 1.8.2

  • jQueryMobile 1.2

我哪里错了?谢谢!

4

2 回答 2

1

I wrote an example for you.

var anyChange = false;

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

http://jsfiddle.net/YuUVd/2/

It works as expected. anyChange is set to true and stays true.

So, if you need more help, we need more information.

I assume, that some other code sets your variable back to false or your change event is never triggered...

于 2013-04-03T10:43:47.070 回答
0

真正的解决方案

( 待办的 )

解决方法

我在正文末尾使用自定义属性制作了一个自定义标签。

当事件被触发时,将属性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');
}
于 2013-04-04T06:38:19.503 回答