【问题标题】:@onblur prevents @onclick in blazor server side app@onblur 阻止 blazor 服务器端应用程序中的 @onclick
【发布时间】:2020-04-21 13:49:17
【问题描述】:

考虑以下情况

<div class="dropdown @(ShowDropdown ? " show" : "")">
    <input type="text" class="form-control" @onfocus="(async (e) => { ShowDropdown = true; })" @onblur="(async (e) => { ShowDropdown = false; })" @bind="SelectedWord" />
    @SelectedWord
    <div class="dropdown-menu @(ShowDropdown ? " show" : "")">

        @foreach (var word in words)
        {
            <button class="dropdown-item" @onclick="(async (e) => SelectedWord = word)">@word</button>
        }
    </div>
</div>

@code {
   private bool ShowDropdown = false;
   private string SelectedWord = "";

   private string[] words = { "word 1", "word 2", "word 3", "word 4" };
}

除非我删除 @onblur,否则不会触发 @onclick 事件。

有什么解决办法吗?

【问题讨论】:

    标签: blazor blazor-server-side


    【解决方案1】:

    onclick 换成onmousedown。这是浏览器中的事件排序问题,但这应该可以解决。

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 2021-10-21
      • 2021-02-27
      • 1970-01-01
      • 2020-01-26
      • 2020-11-26
      • 2021-10-29
      • 2021-05-15
      • 1970-01-01
      相关资源
      最近更新 更多