Я пытаюсь создать пару кнопок над текстовой областью для вставки некоторого HTML-кода - ОЧЕНЬ плохого редактора HTML. У меня есть пара элементов INPUT, и я использую jQuery для установки обработчика щелчков, который будет вызывать функции jQuery append()
или html()
или text()
.
Обработчик срабатывает, он показывает предупреждение об отладке (), но текст, который я пытаюсь добавить, не отображается в текстовой области. Когда я проверяю текстовую область в Firebug, я вижу текст, который добавляю как дочерний элемент текстовой области, но он тусклый, как, например, когда для стиля элемента установлено отображение: нет. Но CSS-инспектор Firebug не показывает никаких изменений в свойствах отображения или видимости.
Когда я устанавливаю обработчик клика на 'append ()', а затем нажимаю несколько раз, в Firebug я вижу текст, добавляемый снова и снова, но каждый новый фрагмент все еще невидим. Если я выберу «Редактировать HTML» в Firebug, а затем введу несколько символов рядом с добавленным текстом, весь текстовый блок - текст, добавленный jQuery, и материал, добавленный в Firebug, - внезапно появятся.
Это также происходит, если я не использую обработчик щелчков, а вызываю функцию добавления, используя встроенный обработчик, такой как onclick="javascript:insert('bold');"
Кто-нибудь знает, почему добавленный текст не отображается?
Вот соответствующий код:
HTML:
<input type='button' id='bold' value='B' onclick='javascript:insert("bold")' />
<textarea name='PersonalGreeting' id='PersonalGreeting'>default text</textarea>
Javascript:
function insert( cmd ) {
switch ( cmd ) {
case 'bold':
$('#PersonalGreeting').append('<b>bold text here</b>');
break;
}
}