Easy Coding
  Forum Wiki Tagging Projekte Karte RSS
» Start
» All Recent Changes
» Wiki Suche
» Wiki Hilfe

Coder How To's

Algorithmen Informationen

edit SideBar

Neue Wiki Eintrage finden Sie unter easy-coding.de/wiki.

HTML-Tabs-in-Textarea

http://l4x.org/Story/261/

tab-textarea-workaround.html
  1. <script type="text/javascript">
  2. <!--
  3.  
  4. /**
  5. * Insert a tab at the current text position in a textarea
  6. * Jan Dittmer, jdittmer@ppp0.net, 2005-05-28
  7. * Inspired by http://www.forum4designers.com/archive22-2004-9-127735.html
  8. * Tested on:
  9. *   Mozilla Firefox 1.0.3 (Linux)
  10. *   Mozilla 1.7.8 (Linux)
  11. *   Epiphany 1.4.8 (Linux)
  12. *   Internet Explorer 6.0 (Linux)
  13. * Does not work in:
  14. *   Konqueror (no tab inserted, but focus stays)
  15. */
  16. function insertTab(event,obj) {
  17.     var tabKeyCode = 9;
  18.     if (event.which) // mozilla
  19.         var keycode = event.which;
  20.     else // ie
  21.         var keycode = event.keyCode;
  22.     if (keycode == tabKeyCode) {
  23.         if (event.type == "keydown") {
  24.             if (obj.setSelectionRange) {
  25.                 // mozilla
  26.                 var s = obj.selectionStart;
  27.                 var e = obj.selectionEnd;
  28.                 obj.value = obj.value.substring(0, s) +
  29.                     "\t" + obj.value.substr(e);
  30.                 obj.setSelectionRange(s + 1, s + 1);
  31.                 obj.focus();
  32.             } else if (obj.createTextRange) {
  33.                 // ie
  34.                 document.selection.createRange().text="\t"
  35.                 obj.onblur = function() { this.focus(); this.onblur = null; };
  36.             } else {
  37.                 // unsupported browsers
  38.             }
  39.         }
  40.         if (event.returnValue) // ie ?
  41.             event.returnValue = false;
  42.         if (event.preventDefault) // dom
  43.             event.preventDefault();
  44.         return false; // should work in all browsers
  45.     }
  46.     return true;
  47. }
  48.  
  49. //-->
  50. </script>
  51. <textarea onkeydown="return insertTab(event,this);"
  52.       onkeyup="return insertTab(event,this);"
  53.       onkeypress="return insertTab(event,this);"
  54.       rows="30" cols="80">
  55. </textarea>
Zuletzt geändert am 21.07.2007 10:12 Uhr
  Impressum