diff options
author | Adrian Lang <lang@cosmocode.de> | 2010-04-29 13:08:15 +0200 |
---|---|---|
committer | Adrian Lang <lang@cosmocode.de> | 2010-04-29 14:46:14 +0200 |
commit | 28f6aae1adeef509aa7be8895088cc9f47018054 (patch) | |
tree | b2e58db9bdb78031230f985d7ae687e14b758c27 /lib/scripts | |
parent | ba29aad72a17a6a9c34afcb2adc13f2a7f9e4e17 (diff) | |
download | rpg-28f6aae1adeef509aa7be8895088cc9f47018054.tar.gz rpg-28f6aae1adeef509aa7be8895088cc9f47018054.tar.bz2 |
Support getSelection in input fields in IE
Diffstat (limited to 'lib/scripts')
-rw-r--r-- | lib/scripts/textselection.js | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/scripts/textselection.js b/lib/scripts/textselection.js index 5e4602f85..0378b544d 100644 --- a/lib/scripts/textselection.js +++ b/lib/scripts/textselection.js @@ -41,7 +41,6 @@ function getSelection(textArea) { sel.obj = textArea; sel.start = textArea.value.length; sel.end = textArea.value.length; - textArea.focus(); if(document.getSelection) { // Mozilla et al. sel.start = textArea.selectionStart; @@ -57,9 +56,13 @@ function getSelection(textArea) { // The current selection sel.rangeCopy = document.selection.createRange().duplicate(); - - var before_range = document.body.createTextRange(); - before_range.moveToElementText(textArea); // Selects all the text + if (textArea.tagName === 'INPUT') { + var before_range = textArea.createTextRange(); + before_range.expand('textedit'); // Selects all the text + } else { + var before_range = document.body.createTextRange(); + before_range.moveToElementText(textArea); // Selects all the text + } before_range.setEndPoint("EndToStart", sel.rangeCopy); // Moves the end where we need it var before_finished = false, selection_finished = false; |