script.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. document.getElementById("text-area").onkeydown = function(e) {
  2. if (!e && event.keyCode == 9)
  3. {
  4. event.returnValue = false;
  5. insertAtCursor(document.getElementById("text-area"), " ");
  6. }
  7. else if (e.keyCode == 9)
  8. {
  9. e.preventDefault();
  10. insertAtCursor(document.getElementById("text-area"), " ");
  11. }
  12. };
  13. //http://alexking.org/blog/2003/06/02/inserting-at-the-cursor-using-javascript#comment-3817
  14. function insertAtCursor(myField, myValue) {
  15. //IE support
  16. if (document.selection) {
  17. var temp;
  18. myField.focus();
  19. sel = document.selection.createRange();
  20. temp = sel.text.length;
  21. sel.text = myValue;
  22. if (myValue.length == 0) {
  23. sel.moveStart('character', myValue.length);
  24. sel.moveEnd('character', myValue.length);
  25. } else {
  26. sel.moveStart('character', -myValue.length + temp);
  27. }
  28. sel.select();
  29. }
  30. //MOZILLA/NETSCAPE support
  31. else if (myField.selectionStart || myField.selectionStart == '0') {
  32. var startPos = myField.selectionStart;
  33. var endPos = myField.selectionEnd;
  34. myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
  35. myField.selectionStart = startPos + myValue.length;
  36. myField.selectionEnd = startPos + myValue.length;
  37. } else {
  38. myField.value += myValue;
  39. }
  40. }