Revision: 40706
Updated Code
at February 8, 2011 03:15 by crutzdesigns
Updated Code
/** * Cursor Functions * * Used for setting and getting text cursor position within an input * and textarea field. Also used to get and set selection range. * * @author Branden Cash * @email [email protected] */ (function( $ ){ jQuery.fn.getCursorPosition = function(){ if(this.lengh == 0) return -1; return $(this).getSelectionStart(); } jQuery.fn.setCursorPosition = function(position){ if(this.lengh == 0) return this; return $(this).setSelection(position, position); } jQuery.fn.getSelection = function(){ if(this.lengh == 0) return -1; var s = $(this).getSelectionStart(); var e = $(this).getSelectionEnd(); return this[0].value.substring(s,e); } jQuery.fn.getSelectionStart = function(){ if(this.lengh == 0) return -1; input = this[0]; var pos = input.value.length; if (input.createTextRange) { var r = document.selection.createRange().duplicate(); r.moveEnd('character', input.value.length); if (r.text == '') pos = input.value.length; pos = input.value.lastIndexOf(r.text); } else if(typeof(input.selectionStart)!="undefined") pos = input.selectionStart; return pos; } jQuery.fn.getSelectionEnd = function(){ if(this.lengh == 0) return -1; input = this[0]; var pos = input.value.length; if (input.createTextRange) { var r = document.selection.createRange().duplicate(); r.moveStart('character', -input.value.length); if (r.text == '') pos = input.value.length; pos = input.value.lastIndexOf(r.text); } else if(typeof(input.selectionEnd)!="undefined") pos = input.selectionEnd; return pos; } jQuery.fn.setSelection = function(selectionStart, selectionEnd) { if(this.lengh == 0) return this; input = this[0]; if (input.createTextRange) { var range = input.createTextRange(); range.collapse(true); range.moveEnd('character', selectionEnd); range.moveStart('character', selectionStart); range.select(); } else if (input.setSelectionRange) { input.focus(); input.setSelectionRange(selectionStart, selectionEnd); } return this; } })( jQuery );
Revision: 40705
Updated Code
at February 8, 2011 03:05 by crutzdesigns
Updated Code
(function( $ ){ jQuery.fn.getCursorPosition = function(){ if(this.lengh == 0) return -1; return $(this).getSelectionStart(); } jQuery.fn.setCursorPosition = function(position){ if(this.lengh == 0) return this; return $(this).setSelection(position, position); } jQuery.fn.getSelection = function(){ if(this.lengh == 0) return -1; var s = $(this).getSelectionStart(); var e = $(this).getSelectionEnd(); return this[0].value.substring(s,e); } jQuery.fn.getSelectionStart = function(){ if(this.lengh == 0) return -1; input = this[0]; var pos = input.value.length; if (input.createTextRange) { var r = document.selection.createRange().duplicate(); r.moveEnd('character', input.value.length); if (r.text == '') pos = input.value.length; pos = input.value.lastIndexOf(r.text); } else if(typeof(input.selectionStart)!="undefined") pos = input.selectionStart; return pos; } jQuery.fn.getSelectionEnd = function(){ if(this.lengh == 0) return -1; input = this[0]; var pos = input.value.length; if (input.createTextRange) { var r = document.selection.createRange().duplicate(); r.moveStart('character', -input.value.length); if (r.text == '') pos = input.value.length; pos = input.value.lastIndexOf(r.text); } else if(typeof(input.selectionEnd)!="undefined") pos = input.selectionEnd; return pos; } jQuery.fn.setSelection = function(selectionStart, selectionEnd) { if(this.lengh == 0) return this; input = this[0]; if (input.createTextRange) { var range = input.createTextRange(); range.collapse(true); range.moveEnd('character', selectionEnd); range.moveStart('character', selectionStart); range.select(); } else if (input.setSelectionRange) { input.focus(); input.setSelectionRange(selectionStart, selectionEnd); } return this; } })( jQuery );
Revision: 40704
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 5, 2011 09:48 by crutzdesigns
Initial Code
(function( $ ){ jQuery.fn.getCursorPosition = function(){ if(this.lengh == 0) return -1; return $(this).getSelectionStart(); } jQuery.fn.setCursorPosition = function(position){ if(this.lengh == 0) return this; return $(this).setSelection(position, position); } jQuery.fn.getSelection = function(){ if(this.lengh == 0) return -1; var s = $(this).getSelectionStart(); var e = $(this).getSelectionEnd(); return this[0].value.substring(s,e); } jQuery.fn.getSelectionStart = function(){ if(this.lengh == 0) return -1; input = this[0]; var pos = input.value.length; if (input.createTextRange) { var r = document.selection.createRange().duplicate(); r.moveEnd('character', input.value.length); if (r.text == '') pos = input.value.length; pos = input.value.lastIndexOf(r.text); } else if(typeof(input.selectionStart)!="undefined") pos = input.selectionStart; return pos; } jQuery.fn.getSelectionEnd = function(){ if(this.lengh == 0) return -1; input = this[0]; var pos = input.value.length; if (input.createTextRange) { var r = document.selection.createRange().duplicate(); r.moveStart('character', -input.value.length); if (r.text == '') pos = input.value.length; pos = input.value.lastIndexOf(r.text); } else if(typeof(input.selectionEnd)!="undefined") pos = input.selectionEnd; return pos; } jQuery.fn.setSelection = function(selectionStart, selectionEnd) { if(this.lengh == 0) return this; input = this[0]; if (input.createTextRange) { var range = input.createTextRange(); range.collapse(true); range.moveEnd('character', selectionEnd); range.moveStart('character', selectionStart); range.select(); } else if (input.setSelectionRange) { input.focus(); input.setSelectionRange(selectionStart, selectionEnd); console.log(input); } return this; } })( jQuery );
Initial URL
Initial Description
Used on `<input>`'s and `<textarea>`'s Several jQuery functions for getting the current cursor position and setting the current cursor position. Also allows for selecting text in a certain range. Usage: <pre> $("input[name='username']").getCursorPosition(); $("input[name='username']").setCursorPosition(5); $("input[name='username']").getSelection(); $("input[name='username']").getSelectionStart(); $("input[name='username']").getSelectionEnd(); $("input[name='username']").setSelection(4, 20); </pre>
Initial Title
jQuery Cursor Functions
Initial Tags
jquery
Initial Language
jQuery