2016-05-25 4 views
0

別のjsファイルからロード時に実行される単純なスクリプトがあります。 セットアップは、このようなものです:初期のPage_LoadでJQueryを使用してIEのプロパティを変更する。デバッグ時にのみ適用される変更点

var ddlPeriodeVan = $('[id$=ddlPeriodeVan]'); 
    var ddlPeriodeTot = $('[id$=ddlPeriodeTot]'); 
    chkPeriodeVanTot = $('[id$=chkPeriodeVanTot]').length > 0 ? $('[id$=chkPeriodeVanTot]') : $('[id$=rbPeriodeVanTot]'); 
    var periodeBereik = { van: 'ddlPeriodeVan', tot: 'ddlPeriodeTot', err: 'ddlPeriode', chk: chkPeriodeVanTot, label: 'Periode' }; 
    if (ddlPeriodeVan.length > 0 && ddlPeriodeTot.length > 0) { 
     if (chkPeriodeVanTot.length > 0) { 
      chkPeriodeVanTot.change(periodeBereik, changedCheckNummerBereik); 

      if (chkPeriodeVanTot.prop('checked')) { // checkbox aangevinkt, maak de waardevelden bewerkbaar 
       ddlPeriodeVan.prop('disabled', false).prop('readonly', false).css('background-color', '#FFFFFF'); 
       ddlPeriodeTot.prop('disabled', false).prop('readonly', false).css('background-color', '#FFFFFF'); 
      } else { // Disable en readonly aanzetten, achtergrond blauw en tekst op (leeg indien textbox/defaultwaarde indien dropdown) 
       // The debugger actually gets here and changes the properties correctly 
       // When there is no breakpoint, the changes have no effect 
       // When there is a breakpoint, the changes are made and remain visible 
       ddlPeriodeVan.prop('disabled', true).prop('readonly', true).css('background-color', '#AACAF4'); 
       ddlPeriodeTot.prop('disabled', true).prop('readonly', true).css('background-color', '#AACAF4'); 
      } 
     } 

chkPeriodeVanTotがチェックされていないとddlPeriodeVanddlPeriodeTotを無効にする必要があり、読み取り専用と異なる背景色を持っています。

これは他のブラウザでもうまくいきますが、IEはこれについて別のことを考えています。理由はわかりません。

私はIE11の開発者ツールで、ファイルにブレークポイントを設定すると奇妙なことです。ブレークポイントがヒットし、コードddlが期待どおりに変更されます! IEはDOMをどこかにリフレッシュするので、すべての変更が失われますか?

EDIT

私はブレークポイントを設定することも、必要ではないことを考え出しました。ちょうどF12デベロッパーツールウィンドウを開いておけば、このトリックが実行されます。すべてが正しくロードされます。そうしない場合でも、window.console作成され、すべての「現代」のブラウザで

: 閉会F12とさわやかな休憩はそれが再び...

答えて

0

すべての権利、私は右ここにいくつかのMicrosoftのロジックを持っていますデバッガを開いてください。デバッガが閉じている場合、IEの場合、window.consoleはundefinedです。

あなたはそれがスローされて見ることはありませんそれらの内部エラーは、すべてのスクリプトが実行を停止する原因になっている

...

ので(本番コードにすべきでない)window.console使用していないかチェックコンソールを使用する前に定義されていない場合

関連する問題