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">
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>
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.
CodePudding user response:
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">
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>
CodePudding user response:
Below piece of code - for dynamically change the length of your text on changing the content
function a (t){
t.size = t.value.length
console.log(t)
}
<input onkeyup="a(this)" value="abcdefghijklmnopqrstwxyz123456789">