2017-09-28 5 views
0

ノーマルモードでは動作しませんが、私のボタンです:Javascriptがここ

var salvaClick = function() { 
    try { 
     buttonSalva.load();//seems not work if in normal mode; if I set breakpoint at this line, it works. 
     buttonStatus.disable();//works 
     if (!valid()) { 
      console.log("valid failure!"); 
     } 
     else { 
      Save(); //this is my business logic function 
     } 
     buttonSalva.reset(); 
     buttonStatus.enable(); 
    } catch (e) { 
     //console.log(e.message); 
     buttonSalva.reset(); 
     buttonStatus.enable(); 
    } 
} 

var buttonStatus = { 
    disable: function() { 
     $('.btn-edit-piattaforma').attr("disabled", true); 
    }, 
    enable: function() { 
     $('.btn-edit-piattaforma').attr("disabled", false); 
    } 
} 

var buttonSalva = { 
    load: function() { 
     $('.btn-edit-piattaforma.btn-ok').button('loading'); 
    }, 
    reset: function() { 
     $('.btn-edit-piattaforma.btn-ok').button('reset'); 
    } 
} 

シナリオ:ここ

enter image description here

<button type="button" class="btn btn-ok btn-edit-piattaforma" onclick="salvaClick();" data-loading-text="<i class='fa fa-spinner fa-spin'></i>Salva"> 
      <i class="glyphicon glyphicon-floppy-disk"></i>Salva 
     </button> 
は私のjavascriptのある私が示すアイコンを表示したいですユーザーがボタン「Salva」をクリックするとロードされます。ノーマルモードで実行すると、表示されません。しかし、ブレークポイントを設定してデバッグモード(F12)で実行すると、ボタンをクリックするとアイコンが表示されます。なぜか分からない。誰でもここで説明できますか?前もって感謝します。

+0

マークアップが不正な形式です。それは実際にそれのようですか? – Phil

+0

私はVisual Studioからコピーします – anhtv13

+0

それは無効です – Phil

答えて

0

通常のHTMLは、双方向データバインディングをサポートしていません。スクリプトファイルの変更は、通常モードでのビューでは反映されません。デバッガを設定すると、デバッガはDOMの更新に時間がかかるため実行されます。タイムアウトを設定してスピンナーを最初に表示するほうが遅くても、スクリプト機能をロードする方がよいでしょう。

+0

文書準備機能では、ボタンを表示します。したがって、ユーザーがボタンをクリックすると、ページが完全にロードされます。 – anhtv13