Проблема с <select>
заключается в том, что иногда он не связан с состоянием того, что отображается в данный момент, и, если что-то не изменилось в списке параметров, значение изменения не возвращается.Это может быть проблемой при попытке выбрать первый вариант из списка.Следующий код может получить первый параметр, выбранный в первый раз, но onchange="changeFontSize(this)"
сам по себе не сможет.Существуют методы, описанные выше, использующие фиктивную опцию, чтобы заставить пользователя внести измененное значение, чтобы получить фактическое первое значение, например, начать список с пустого значения.Примечание: onclick будет вызывать функцию дважды, следующий код - нет, но решает проблему, возникающую в первый раз.
<label>Font Size</label>
<select name="fontSize" id="fontSize" onfocus="changeFontSize(this)" onchange="changeFontSize(this)">
<option value="small">Small</option>
<option value="medium">Medium</option>
<option value="large">Large</option>
<option value="extraLarge">Extra large</option>
</select>
<script>
function changeFontSize(x){
body=document.getElementById('body');
if (x.value=="extraLarge") {
body.style.fontSize="25px";
} else {
body.style.fontSize=x.value;
}
}
</script>