From e700982a20737bdc1cf0c4babaa2c199a53a1300 Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Sun, 18 Jan 2015 11:35:30 +0000 Subject: Move isSelected test to before possible blur/click. --- lib/dom_utils.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee index af563fd1..21a00ae4 100644 --- a/lib/dom_utils.coffee +++ b/lib/dom_utils.coffee @@ -176,13 +176,14 @@ DomUtils = element.selectionStart? and element.selectionEnd? and element.selectionStart != element.selectionEnd simulateSelect: (element) -> + isSelected = @isSelected element # If element == document.activeElement, then we won't get a new focus event. So, we pretend (to any # active modes which care, e.g. PostFindMode) that element has been clicked. if element == document.activeElement and DomUtils.isEditable document.activeElement handlerStack.bubbleEvent "click", target: element element.focus() - unless @isSelected element + unless isSelected # When focusing a textbox, put the selection caret at the end of the textbox's contents. # For some HTML5 input types (eg. date) we can't position the caret, so we wrap this with a try. try element.setSelectionRange(element.value.length, element.value.length) -- cgit v1.2.3