Показать сообщение отдельно
  #18 (permalink)  
Старый 03.08.2012, 23:46
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

Спасибо за подсказки! Кажется, получилось во всех вхождениях тега [math].[/math] корректировать раскладку клавиатуры.

<script  type="text/javascript"> 
function correctInTag(t)
{ 
    for (var z = t.value.split('[math]'), f = 0, j = 1, lj = z.length; j < lj; j++)
         { if (new RegExp('[а-яё]', 'i').exec(z[j].split('[/math]')[0]) != null) {f = 1; break} }
    if (!f) return;   
    var cyr = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя',
        klv = 'F<DULT~:PBQRKVYJGHCNEA{WXIOMS}">Zf,dult`;pbqrkvyjghcnea[wxioms]\'.z';
    if (document.selection)
        { t.focus();
          var rng = document.selection.createRange();
          rng.moveEnd('character', -1);
          rng.moveEnd('character', 1);
          rng.text = klv.charAt(cyr.indexOf(rng.text));
        }
    else if (t.selectionStart >= 0)
             { var s = t.selectionStart - 1;
               t.value = t.value.substr(0, s)
                         + klv.charAt(cyr.indexOf(t.value.substr(s, 1)))
                         + t.value.substr(s + 1);
               t.selectionStart = t.selectionEnd = s + 1;
             }
} 
</script>

<textarea id="abcd" onkeyup="correctInTag(this)" style="width: 300px; height: 100px">
Наберите что-либо на русском внутри [math].[/math].
И в этом [math].[/math].
</textarea>

Последний раз редактировалось Demath, 04.08.2012 в 00:10.
Ответить с цитированием