To move focus on the end of inputs when user click the input box, I use something like this,
$(function() {
    $('#test-input').on('click', function(evt) {
    $target = $(evt.target);
    var val = $target.val();
    $target.val('').val(val);
  });
}())<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="test" id="test-input" value="abcdefgh" />But if I change the 'click' to 'focus', it doesn't work.
$(function() {
    $('#test-input').on('focus', function(evt) {
    $target = $(evt.target);
    var val = $target.val();
    $target.val('').val(val);
  });
}())<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="test" id="test-input" value="abcdefgh" />How different onClick and onFocus actions in that case?
 
     
     
     
     
    