|
|
|
Phần mềm : |
 |
|
Trình độ : Beginer |
| Đánh giá : |
 |
/ |
 |
|
|
| Insert text vào textarea và giữ nguyên vị trí con trỏ |
| (Thứ Năm, 08/04/2010-2:11 PM) |
|
|
 |
|
Đoạn code này dùng để chèn 1 đoạn text vào ô textare mà vẫn giữ được vị trí hiện tại của con trỏ trên textarea. |
|
|
|
<script> function BASIC_InsertTag(tagOpen, tagClose, sampleText) { var clientPC = navigator.userAgent.toLowerCase(); // Get client info var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1)); var areas = document.getElementsByTagName('textarea'); var txtarea = areas[0]; if (document.selection && !is_gecko) { var theSelection = document.selection.createRange().text; if (!theSelection) { theSelection=sampleText; } txtarea.focus(); if (theSelection.charAt(theSelection.length - 1) == " ") { // exclude ending space char, if any theSelection = theSelection.substring(0, theSelection.length - 1); document.selection.createRange().text = tagOpen + theSelection + tagClose + " "; } else { document.selection.createRange().text = tagOpen + theSelection + tagClose; } // Mozilla } else if(txtarea.selectionStart || txtarea.selectionStart == '0') { var replaced = false; var startPos = txtarea.selectionStart; var endPos = txtarea.selectionEnd; if (endPos-startPos) { replaced = true; } var scrollTop = txtarea.scrollTop; var myText = (txtarea.value).substring(startPos, endPos); if (!myText) { myText=sampleText; } var subst; if (myText.charAt(myText.length - 1) == " ") { // exclude ending space char, if any subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " "; } else { subst = tagOpen + myText + tagClose; } txtarea.value = txtarea.value.substring(0, startPos) + subst + txtarea.value.substring(endPos, txtarea.value.length); txtarea.focus(); if (replaced) { var cPos = startPos+(tagOpen.length+myText.length+tagClose.length); txtarea.selectionStart = cPos; txtarea.selectionEnd = cPos; } else { txtarea.selectionStart = startPos+tagOpen.length; txtarea.selectionEnd = startPos+tagOpen.length+myText.length; } txtarea.scrollTop = scrollTop; } if (txtarea.createTextRange) { txtarea.caretPos = document.selection.createRange().duplicate(); } }</script> <form id="form1" name="form1" method="post" action=""> <textarea name="textfield" id="textfield"></textarea> <a href="javascript:BASIC_InsertTag('', '', 'In đậm');">Insert B</a> </form>
Theo phpbasic
|
|
|
|
|
|
| Các bài trước |
|
|
| Các bài sau |
|
|
|
|
|
|
|