Created
September 15, 2009 00:53
-
-
Save meltingice/187039 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* this.getTextSelection() | |
* Utility function that returns the text that is selected | |
* and is cross-browser compatible. | |
*/ | |
OsimoEditorControls.prototype.getTextSelection = function(){ | |
var textarea = $('#'+this.input+'_editbox').get(0); | |
if (window.getSelection) { | |
var len = textarea.value.length; | |
var start = textarea.selectionStart; | |
var end = textarea.selectionEnd; | |
var sel = textarea.value.substring(start, end); | |
var result = {"textarea":textarea,"start":start,"end":end,"len":len,"sel":sel}; | |
return result; | |
} | |
else if (document.selection) { | |
/* Damn you IE, why must you torture me so? */ | |
var range = document.selection.createRange(); | |
var stored_range = range.duplicate(); | |
stored_range.moveToElementText( textarea ); | |
stored_range.setEndPoint( 'EndToEnd', range ); | |
textarea.selectionStart = stored_range.text.length - range.text.length; | |
textarea.selectionEnd = textarea.selectionStart + range.text.length; | |
var result = {"textarea":textarea,"start":textarea.selectionStart,"end":textarea.selectionEnd,"len":textarea.value.length,"sel":range.text}; | |
return result; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment