Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
agat 25.02.2003 18:24
...пользуйтесь на здоровье..:)<script language=javascript> <!-- function markSelection ( txtObj ) { if ( txtObj.createTextRange ) { txtObj.caretPos = document.selection.createRange().duplicate(); isSelected = true; } } function insertTag ( txtName, tag, enclose ) { var closeTag = tag; if ( enclose ) { var attribSplit = tag.indexOf ( ' ' ); if ( tag.indexOf ( ' ' ) > -1 ) closeTag = tag.substring ( 0, attribSplit ); } if ( isSelected ) { var txtObj = eval ( "document.forms[0]." + txtName ); if (txtObj.createTextRange && txtObj.caretPos) { var caretPos = txtObj.caretPos; caretPos.text = ( ( enclose ) ? "<"+tag+">"+caretPos.text+"</"+closeTag+">" : "<"+tag+">"+caretPos.text ); markSelection ( txtObj ); if ( txtObj.caretPos.text=='' ) { isSelected=false; txtObj.focus(); } } } else { // placeholder for loss of focus handler } } //--> </script> <form> <textarea name="tsttxt" ONSELECT="markSelection(this);" ONCLICK="markSelection(this);" ONKEYUP="markSelection(this);"> </textarea> <input type="button" value="BOLD" onClick="insertTag ( 'tsttxt', 'b', true )"> <input type="button" value="PARAGRAPH" onClick="insertTag ( 'tsttxt', 'p', false )"> </form>работает, правда, кажется, только под MSIE, но мне пока хватило. Позже переделаю...