0

ブートストラップ モーダルを使用して、外部 CSS ファイルを使用して CSS が適用されたコンテンツを表示します。このモーダルを、モーダルに似たクラス名を持つ要素を持つ Web ページに統合しました。Web ページの CSS スタイルをモーダルに適用しないようにするにはどうすればよいですか? $('link[href="responsive.css"]').prop('disabled',true); 上記のコードは、ダイアログと Web ページの両方で CSS ファイルを無効にしています。モーダルからのみ削除する必要があります。

4

1 に答える 1

0

document.styleSheetsAPI を使用して問題のスタイルシートを見つけdisabled、モーダルが開いている場合にのみ属性を true に設定します。

function reenable_stylesheets()
  {
  "use strict";
  Array.from(document.styleSheets).map(
    function(value) 
    {
    value.disabled = false;
    });
  }
   
function disable_and_replace_stylesheet(val)
  {
  "use strict";
  Array.from(document.styleSheets).map(
    function(value) 
    {
    return value.href;
    }).reduce
       (
       function(prevalue, curvalue, index, data) 
         {
         disable_and_replace_stylesheet.index = !!RegExp(val).test(curvalue) ? index : undefined; 
         }
       );

  if (disable_and_replace_stylesheet.index)
    {
    console.log(disable_and_replace_stylesheet.index); document.styleSheets[disable_and_replace_stylesheet.index].disabled = true;
    }
  }

/*
document.getElementById("modal_parent").addEventListener("click", function(){disable_and_replace_stylesheet("boot");});

document.getElementById("modal_parent").addEventListener("blur", function(){reenable_stylesheets();});
*/

参考文献

于 2016-09-26T20:15:31.843 に答える