|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Javascript: Вставка текста в textarea в положение курсора |
|
Javascript: Вставка текста в textarea в положение курсора
|
Старожил Сообщения: 181 |
Профиль | Отправить PM | Цитировать http://www.khspu.ru/~Board/js/5.htm
Вставляет в Мозилле 1.0.7 Цитата:
http://www.khspu.ru/~Board/js/2.htm Вот данный скрипт работает, но не вставляет в самом начале. Смотрим исходный код. Вопрос: Нужно чтобы заработал http://www.khspu.ru/~Board/js/5.htm что нужно изменить в коде? |
||
------- ..::} PahaW {::.. ..::} Far East {::.. ..::} Russian {::.. Отправлено: 04:47, 22-12-2005 |
Старожил Сообщения: 181
|
Профиль | Отправить PM | Цитировать Вот тут пошаманил с кодом от phpbb вроде все работает.
создаем script.js файлик вот с таким содержимым var text_no_selected = "Выберите текст для вставки"; var clientPC = navigator.userAgent.toLowerCase(); var clientVer = parseInt(navigator.appVersion); var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1)); var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1) && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1)); var is_moz = 0; var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1)); var is_mac = (clientPC.indexOf("mac")!=-1); function mozillaWr(textarea, open, close) { var selLength = textarea.textLength; var selStart = textarea.selectionStart; var selEnd = textarea.selectionEnd; if (selEnd == 1 || selEnd == 2) selEnd = selLength; var s1 = (textarea.value).substring(0,selStart); var s2 = (textarea.value).substring(selStart, selEnd) var s3 = (textarea.value).substring(selEnd, selLength); textarea.value = s1 + open + s2 + close + s3; textarea.selectionEnd = 0; textarea.selectionStart = selEnd + open.length + close.length; return; } function insert_into_position_cursor(text) { var textarea = document.post.message; if (textarea.createTextRange && textarea.caretPos) { var caretPos = textarea.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text; } else { if (is_nav && document.getElementById) { mozillaWr(textarea, '', text); } else { textarea.value += text; } } textarea.focus(); } function copySelection() { if (window.getSelection) { selection = window.getSelection().toString(); } else if (document.getSelection) { selection = document.getSelection(); } else if (document.selection) { selection = document.selection.createRange().text; } } function pasteSelection() { if (selection) { insert_into_position_cursor('[_quote]' + selection + '[_/quote]\n'); selection = ''; document.post.message.focus(); return; } else { alert(text_no_selected); return; } } // функцию можно также использовать потом как облачение теги code, можно в b .... //На самом деле как вы уже поняли этим не ограничивается создаем сколько нам нужно функций и юзаем их function codeSelection(text) { text = '[_code] ' + text + ' [_/code]'; insert_into_position_cursor(text); } function storeCaret(textEl) { if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate(); } <script language="JavaScript" type="text/javascript" src="script.js"></script> <form method="post" name="post"> <table border="1" width="98%"> <tr><td colspan="2" align="center"><b>!!!!Выдели меня!!!!</b></td></tr> <tr> <td width="135"> <table width="100%" border="0"> <tr> <td valign="middle" align="center"> <br /> <table width="100" border="0" cellspacing="0" cellpadding="5"> <tr align="center" valign="middle"> <td>Для вставки цитаты, выделите её и <a onmouseover="copySelection()" href="javascript:pasteSelection()">нажмите эту ссылку</a><br>Для вставки кода, выделите её и <a onmouseover="copySelection()" href="javascript:codeSelection()">нажмите эту ссылку</a> </td> </tr> </table> </td> </tr> </table> </td> <td><textarea name="message" rows="15" cols="100" wrap="virtual" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);"></textarea><br /></td> </tr> </table> </form> |
------- ..::} PahaW {::.. ..::} Far East {::.. ..::} Russian {::.. Последний раз редактировалось PahaW, 23-12-2005 в 11:19. Отправлено: 10:57, 23-12-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Javascript: Положение курсора мыши в Firefox | Coutty | Вебмастеру | 4 | 22-10-2008 08:42 | |
Вставка многострочного текста из буфера обмена в однострочное окно. | Do Not Disturb | Microsoft Windows 95/98/Me (архив) | 2 | 16-02-2007 19:42 | |
[решено] Не работает копирование - вставка текста (всегда вставляется текст "Hello!") | Madmech | Microsoft Windows 2000/XP | 5 | 29-11-2005 16:26 | |
JavaScript: вывод текста из текстового поля | Jekamajor | Вебмастеру | 5 | 10-08-2005 12:43 | |
Вставка текста из формы | Casufi | Вебмастеру | 2 | 14-05-2003 11:40 |
|