Поставил скрипт для тегов, который в текстовом поле, при нажатии на тег, обводит текст.
В Эксплорере и Опере всё отлично работает, а вот в Мозиллле и Сафари не пашет, при нажатии отправляет тег чисто в конец текста. В чём может быть загвоздка?
Вот сам скрипт:
CODE:
<script language='javascript' type='text/javascript'>
<!--
function AddSelectedText(BBOpen, BBClose) {
if (document.REPLIER.Post.caretPos) document.REPLIER.Post.caretPos.text = BBOpen + document.REPLIER.Post.caretPos.text + BBClose;
else document.REPLIER.Post.value += BBOpen + BBClose;
document.REPLIER.Post.focus()
}
function InsertBBCode(BBcode) {
AddSelectedText('[' + BBcode + ']','[/' + BBcode + ']');
}
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
//-->
</script>
<!--
function AddSelectedText(BBOpen, BBClose) {
if (document.REPLIER.Post.caretPos) document.REPLIER.Post.caretPos.text = BBOpen + document.REPLIER.Post.caretPos.text + BBClose;
else document.REPLIER.Post.value += BBOpen + BBClose;
document.REPLIER.Post.focus()
}
function InsertBBCode(BBcode) {
AddSelectedText('[' + BBcode + ']','[/' + BBcode + ']');
}
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
//-->
</script>
Вот текстарея:
CODE:
<textarea name="Post" cols="102" rows="10" class="textinput" tabindex="1" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="storeCaret(this);" onChange='CheckLengths(this, document.REPLIER.count_bytes, 10000)' onKeyUp='CheckLengths(this, document.REPLIER.count_bytes, 10000)' onKeyPress='CheckLengths(this, document.REPLIER.count_bytes, 10000)'></textarea>
А вот пример кнопки:
CODE:
<input type='button' class='codebuttons' style='font-weight:bold' title='Вставить Жирный текст в Быстрый Ответ' value='[B]' onClick="InsertBBCode('B')" />