0

我在 Blazor 的初级阶段。我需要知道当点击文本框或数字框时,文本框或数字框中的文本应该会自动按照下图高亮显示。

在此处输入图像描述

我怎样才能使用 blazor 做到这一点?

4

2 回答 2

3

您可以通过向元素添加 javascript 焦点事件处理程序来执行此操作:

onfocus="this.select()"
于 2021-10-04T11:08:24.017 回答
1

这对我有用:

_Host.cshtml

<script>
    function selectText(inputId) {
        var inp = document.querySelector("#" + inputId);
        if (inp.select) {
            inp.select();
        }
    }
</script>

索引.razor

@page "/"
@inject IJSRuntime jsRuntime

<div class="form-group">
    <label>Standard</label>
    <input id="@MyID" @bind-value="@MyText" @onclick="@SelectText" />
</div>

@code {
    public string MyText { get; set; } = "text";
    public string MyID { get; set; } = "input-id1";

    async Task SelectText()
    {
        await jsRuntime.InvokeVoidAsync("selectText", MyID);
    }
} 
于 2021-10-05T16:55:04.117 回答