зеркало из https://github.com/telerik/blazor-docs.git
1.7 KiB
1.7 KiB
title | description | type | page_title | slug | position | tags | ticketid | res_type |
---|---|---|---|---|---|---|---|---|
Highlight textbox content on focus | How to select all the textbox content on click or focus. | how-to | Highlight textbox content on focus | textbox-kb-select-in-focus | 1480268 | kb |
Environment
Product | TextBox for Blazor |
Description
As soon as I click inside the textbox, I want to select the whole text. How to highlight all the text when the input is focused?
Solution
At the time of writing, Blazor does not have native API for handling focus and selection, so you need to use JS Interop to select the textbox content.
-
Prepare a small JavaScript function that will call the select method of the input.
JavaScript
<script> function selectText(tbId) { var tb = document.querySelector("#" + tbId); if (tb.select) { tb.select(); } } </script>
-
Call that function in the desired event like
@focusin
. See how to get such events [here]({%slug inputs-kb-handle-keyboard-events%}).Razor
@inject IJSRuntime _js <span @onfocusin="@FocusInHandler"> <TelerikTextBox @bind-Value="@TbValue" Id="@TheTbId"></TelerikTextBox> </span> @code{ string TbValue { get; set; } = "lorem ipsum"; string TheTbId { get; set; } = "myTb"; async Task FocusInHandler(FocusEventArgs e) { await _js.InvokeVoidAsync("selectText", TheTbId); } }