diff --git a/lib/scripts/textselection.js b/lib/scripts/textselection.js index 5e4602f85e797c0c6f3c3e7a9fb863442a519367..0378b544df7a04f635af9c9609beaf22268448da 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;