2010-12-28 10 views
0

Kann jemand einen Grund denken, dass dies in keiner Version von IE funktionieren würde? Ich habe ein Dropdown-Auswahlmenü für die Auswahl der Schriftfamilie eines Elements, das eine Javascript-Funktion aufruft, um die Schriftfamilie zu ändern. Hier ist der html ...JavaScript Font-Family Problem in IE

<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> 

Und hier ist das 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; 
    } 

Dies funktioniert die Schriftfamilie des Elements in jedem Browser zu ändern, minus der gefürchtete Internet Explorer. Irgendwelche Gedanken? Ich meine, es ist eine ziemlich einfache Funktion, ich habe versucht, über andere Wege nachzudenken, aber ich bin ziemlich festgefahren. Danke an alle, die das gelesen haben!

+0

Ich kann nichts grundlegend falsch sehen. Kannst du es einschränken, wo es nicht funktioniert? Irgendwelche Fehler? –

+0

Seltsamerweise werden keine Fehler ausgelöst. Ich habe sogar die IE8-Entwicklertools zum Debuggen ausgegraben und bekomme nichts. Die Schriftfamilie ändert sich einfach nicht. Seltsamste Sache ..... – Hacknightly

Antwort

0

Wenn Sie den Code debuggten, würden Sie sehen, dass selector.value nichts zurückgibt.

<!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

+0

Ahhhhhhh, vielen Dank. Ich nehme an, ich muss die wahre Bedeutung des Debugging-Codes lernen. Ich fühle mich wie ein Noob. Danke noch einmal. – Hacknightly