0

私はこのコードを持っています。

    var anyChange = false;

    function init(){

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

...

 onload='init()

イベントは発生しますが、変数 (anyChange) は匿名関数内でのみ 'true' のままです。

私が使う :

  • Jクエリ1.8.2

  • JqueryMobile 1.2

どこが間違っていますか?サンクス!

4

2 に答える 2

1

私はあなたのために例を書きました。

var anyChange = false;

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

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

期待どおりに動作します。anyChange は true に設定され、true のままです。

そのため、さらにサポートが必要な場合は、より多くの情報が必要です。

他のコードが変数をfalseに戻すか、変更イベントがトリガーされないと思います...

于 2013-04-03T10:43:47.070 に答える
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');
}
于 2013-04-04T06:38:19.503 に答える