Проблема JavaScript Font-Family в IE - PullRequest
0 голосов
/ 28 декабря 2010

Может кто-нибудь придумать причину, по которой это не сработает ни в одной версии IE? У меня есть выпадающее меню выбора для выбора семейства шрифтов элемента, которое вызывает функцию javascript для изменения семейства шрифтов. Вот HTML ...

 <select id="selecth1FontFamily" name="selectFontFamily" onchange="updateh1family();">
                                  <option> Serif </option>
                                  <option> Arial </option>
                                  <option> Sans-Serif </option>                                  
                                  <option> Tahoma </option>
                                  <option> Verdana </option>
                                  <option> Lucida Sans Unicode </option>                               
                              </select>

А вот и JavaScript ...

function updateh1family() {

        var selector = document.getElementById('selecth1FontFamily');
        var cssPreviewSpan = document.getElementById('h1FontFamily');

        cssPreviewSpan.innerHTML = selector.value;
        // also update the CSS preview

        var h1 = document.getElementById('liveh1')
        h1.style.fontFamily =  selector.value;
    }

Это работает, чтобы изменить семейство шрифтов элемента в КАЖДОМ браузере, за исключением страшного интернет-обозревателя. Какие-нибудь мысли? Я имею в виду, что это довольно простая функция, я пытался придумать другие способы сделать это, но я довольно сильно застрял. Спасибо всем, кто это прочитал!

1 Ответ

0 голосов
/ 28 декабря 2010

Если вы отладите код, вы увидите, что selector.value ничего не возвращает.

<!DOCTYPE html>
<html>
<head>
</head>
<body>
  <h1 id="liveh1">Some text</h1>
  <select id="selecth1FontFamily" name="selectFontFamily" onchange="updateh1family();">
    <option> Serif </option>
    <option> Arial </option>
    <option> Sans-Serif </option>                                  
    <option> Tahoma </option>
    <option> Verdana </option>
    <option> Lucida Sans Unicode </option>                               
  </select>
    <script>
      function updateh1family() {
        var selector = document.getElementById('selecth1FontFamily');
        var family = selector.options[selector.selectedIndex].value;
        var h1 = document.getElementById('liveh1')
        h1.style.fontFamily = family;        
      }

    </script>
</body>
</html>

JSBin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...