summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Lang <lang@cosmocode.de>2010-04-29 13:08:15 +0200
committerAdrian Lang <lang@cosmocode.de>2010-04-29 14:46:14 +0200
commit28f6aae1adeef509aa7be8895088cc9f47018054 (patch)
treeb2e58db9bdb78031230f985d7ae687e14b758c27
parentba29aad72a17a6a9c34afcb2adc13f2a7f9e4e17 (diff)
downloadrpg-28f6aae1adeef509aa7be8895088cc9f47018054.tar.gz
rpg-28f6aae1adeef509aa7be8895088cc9f47018054.tar.bz2
Support getSelection in input fields in IE
-rw-r--r--lib/scripts/textselection.js11
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;