You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.4 KiB

1 year ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. // Avoid `console` errors in browsers that lack a console.
  2. (function() {
  3. var method;
  4. var noop = function noop() {};
  5. var methods = [
  6. 'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
  7. 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
  8. 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
  9. 'timeStamp', 'trace', 'warn'
  10. ];
  11. var length = methods.length;
  12. var console = (window.console = window.console || {});
  13. while (length--) {
  14. method = methods[length];
  15. // Only stub undefined methods.
  16. if (!console[method]) {
  17. console[method] = noop;
  18. }
  19. }
  20. }());
  21. // Place any jQuery/helper plugins in here.
  22. function getCaretPosition (ctrl) {
  23. var caretPos = 0;
  24. if (document.selection) {
  25. // IE Support
  26. ctrl.focus ();
  27. var sel = document.selection.createRange ();
  28. sel.moveStart ('character', -ctrl.value.length);
  29. caretPos = sel.text.length;
  30. } else if (ctrl.selectionStart || ctrl.selectionStart == '0') {
  31. // Firefox support
  32. caretPos = ctrl.selectionStart;
  33. }
  34. return caretPos;
  35. }
  36. function setCaretPosition(ctrl, pos) {
  37. if (ctrl.setSelectionRange) {
  38. ctrl.focus();
  39. ctrl.setSelectionRange(pos,pos);
  40. } else if (ctrl.createTextRange) {
  41. var range = ctrl.createTextRange();
  42. range.collapse(true);
  43. range.moveEnd('character', pos);
  44. range.moveStart('character', pos);
  45. range.select();
  46. }
  47. }