Showing last part of input text when it is not on focus any more?

Issue

In the case of input whenever we focus out or click outside the input field we see that the right part of the over text is hidden and only the left part shows but I want the reverse of it.

<input value="abcdefghijklmnopqrstwxyz123456789">

Like in the above input field we can see "abcdefghijklmnopqrstwxyz1" and the rest part("23456789") is hidden but I want to show "klmnopqrstwxyz123456789" (last part instead of the first part) and hide the first part "abcdefghij" without CSS direction.

Solution

Via javascript, we can achieve it with the help of blur event.

On blur, we capture the input’s current Element.scrollLeft . Next, we reset the scrollLeft position to Element.scrollWidth wrapped in a setTimeout() to ensure the browser waits to render the queued change.

const elem = document.getElementById('data');

elem.addEventListener("blur", () => {
  setTimeout(() => {
    elem.scrollLeft = elem.scrollWidth;
  }, 0);
});
<input id="data" value="abcdefghijklmnopqrstwxyz123456789">

Answered By – Maniraj Murugan

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published