ui-mask icon indicating copy to clipboard operation
ui-mask copied to clipboard

Cursor moves to the one before last position after mouse select all and enter new character

Open vvnc opened this issue 7 years ago • 0 comments

Bug

Steps to reproduce:

  1. Go to the official demo page: https://htmlpreview.github.io/?https://github.com/angular-ui/ui-mask/master/demo/index.html
  2. Select some mask e.g. (999) 999-9999
  3. Enter any characters in the "Masked input" field
  4. Put the mouse cursor at the end
  5. Select half of characters with the left mouse key not leaving the input
  6. Continue selection with the left mouse key outside of input
  7. Enter any characters

Result: cursor is on the one before last position

Expected behaviour: cursor is on the last position

Demo: ui-mask-cursor-bug

Reason

The selection lenght is recorded on mouseout event. When mouse leaves the input and selection is not finished yet, the selection is not recorded anymore. The wrong selection length corrupts the cursor position which leads to the error.

Suggested fix

Record the cursor position on keydown event too.

vvnc avatar Oct 16 '18 14:10 vvnc