Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Opera не выполняет style.fontSize=... в поле input (https://javascript.ru/forum/css-html-browser/17597-opera-ne-vypolnyaet-style-fontsize%3D-v-pole-input.html)

Маэстро 25.05.2011 17:55

Opera не выполняет style.fontSize=... в поле input
 
Обнаружил, что Opera не выполняет style.fontSize=... в поле input в ситуации, когда в стиле input задано абсолютное позиционирование и размеры.
<script type="text/javascript">
function size1(){document.getElementById('inp').style.fontSize='10px'} // в Opera не работает пока не поставишь курсор в input
function size2(){document.getElementById('inp').style.fontSize='20px'} // в Opera не работает пока не поставишь курсор в input
</script>

<input type="text" value="test" id="inp" style="position:absolute; width:100px; height:50px">
<br><br><br><br>
<input type="button" value="10" onclick=size1()>
<input type="button" value="20" onclick=size2()>

Как бороться? Пока работает только два варианта:
1. после смены myinput.style.fontSize делать установку фокуса в этот input, т.е. myinput.focus()
2. после смены myinput.style.fontSize делать переприсвоение значения input самому себе: myinput.value=myinput.value;

Может предложите другой бубен?
p.s. Opera 11.10

x-yuri 25.05.2011 20:22

<script type="text/javascript">
function size1(){
  document.getElementById('inp').style.fontSize='10px';
  document.getElementById('inp').style.outlineColor = 'rgb('+Math.floor(Math.random()*256)+', 0, 0)';
} // в Opera не работает пока не поставишь курсор в input
function size2(){
  document.getElementById('inp').style.fontSize='20px';
  document.getElementById('inp').style.outlineColor = 'rgb('+Math.floor(Math.random()*256)+', 0, 0)';
} // в Opera не работает пока не поставишь курсор в input
</script>

<input type="text" value="test" id="inp" style="position:absolute; width:100px; height:50px">
<br><br><br><br>
<input type="button" value="10" onclick=size1()>
<input type="button" value="20" onclick=size2()>

оно?

Маэстро 26.05.2011 11:19

Да, спасибо, как вариант это работает. Вот только не хочется из-за броузерных глюков удлинять и удлинять javascript-код..

x-yuri 26.05.2011 16:56

а зачем, собственно, менять font-size input'а?

Маэстро 03.06.2011 18:24

Цитата:

Сообщение от x-yuri (Сообщение 106258)
а зачем, собственно, менять font-size input'а?

Есть в системе такая функция - изменение своего имени (ника). Также изменение своего шрифта (размер, цвет,...). Изменения шрифта должны сразу отображаться (проявляться) в поле инпут на имени пользователя (чтобы не делать отдельную DIV-строку типа "образец шрифта").

serafim 05.06.2011 06:08

У меня он совсем не разработан.

Маэстро 20.06.2011 12:03

Цитата:

Сообщение от serafim (Сообщение 107378)
У меня он совсем не разработан.

Простите, Вы это о чем?


Часовой пояс GMT +3, время: 16:31.