Unplanned
Last Updated: 14 Jul 2026 11:26 by Wolfgang
Created by: Wolfgang
Comments: 0
Category: Popover
Type: Feature Request
3

Could you include the OnHide event in the TelerikPopover, similar to the Popup component? The Popover already hides on outside clicks, but we have no method to programatically react to it, for example to reset input values and treat it as a cancellation.

===

TELERIK EDIT: In the meantime, a possible workaround is to detect clicks outside the Popover with JavaScript:

https://blazorrepl.telerik.com/QKOBbSbF25rgdsgP20

@implements IAsyncDisposable

@inject IJSRuntime JS

<TelerikPopover @ref="@PopoverRef"
                AnchorSelector=".popover-target"
                ShowOn="@PopoverShowOn.Click"
                Position="@PopoverPosition.Right"
                Offset="20"
                Class="my-popover">
    <PopoverContent>
        Telerik Popover for Blazor
    </PopoverContent>
</TelerikPopover>

<p>Popover Hide Log: @PopoverOnHideLog</p>

<TelerikButton Class="popover-target" OnClick="ShowPopover">
    Show Popover
</TelerikButton>

<script suppress-error="BL9992">
    var dotnetRef;

    window.registerOutsideClick = function (dotnetHelper) {
        dotnetRef = dotnetHelper;
        document.addEventListener("click", onPopoverOutsideClick);
    };

    window.unregisterOutsideClick = function () {
        dotnetRef = null;
        document.removeEventListener("click", onPopoverOutsideClick);
    };

    function onPopoverOutsideClick(e) {
        window.setTimeout(() => {
            const popover = document.querySelector(".my-popover");
            const anchor = document.querySelector(".popover-target");

            const clickedInsidePopover = popover?.contains(e.target);
            const clickedAnchor = anchor?.contains(e.target);

            if (!clickedInsidePopover && !clickedAnchor) {
                dotnetRef?.invokeMethodAsync("OnPopoverHide");
            }
        }, 100);
    }
</script>

@code {
    #nullable enable

    private DotNetObjectReference<__Main>? DotNetRef { get; set; }

    private TelerikPopover? PopoverRef;

    private string PopoverOnHideLog { get; set; } = string.Empty;

    private void ShowPopover()
    {
        PopoverRef?.Show();
    }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            await JS.InvokeVoidAsync("registerOutsideClick", DotNetRef);
        }
    }

    protected override void OnInitialized()
    {
        DotNetRef = DotNetObjectReference.Create(this);
    }

    [JSInvokable]
    public void OnPopoverHide()
    {
        PopoverOnHideLog = $"Popover closed automatically at {DateTime.Now.ToString("HH:mm:ss")}";

        StateHasChanged();
    }

    public async ValueTask DisposeAsync()
    {
        if (DotNetRef != null)
        {
            DotNetRef.Dispose();
        }

        await JS.InvokeVoidAsync("unregisterOutsideClick");
    }
}

Completed
Last Updated: 23 May 2025 08:32 by ADMIN
Release 9.0.0
Since version 7.0.0, if you show a Popover for each Grid row, upon sorting/paging, the Popover displays with the incorrect association.
Completed
Last Updated: 28 Nov 2024 06:53 by ADMIN
Release 2025 Q1 (Feb)
Created by: Tom
Comments: 1
Category: Popover
Type: Bug Report
5

When the anchor element is changed, the Popover remains on the old one.

Repro: https://blazorrepl.telerik.com/QeluluPY55SngO9C35

Completed
Last Updated: 14 Nov 2024 09:29 by ADMIN
Release 7.0.0
Popover throws an uncaught JS exception on the Popover show. When the ShowCallout parameter is set to false, the exception is thrown, because it tries to set a class to a non-existing callout.
Completed
Last Updated: 14 Nov 2024 09:26 by ADMIN
Release 7.0.0
Created by: Andrew
Comments: 1
Category: Popover
Type: Bug Report
1

The AnchorSelector parameter of the Popover should support runtime changing. Currently, to change the parameter value, the app must recreate the component by removing it temporarily from the page:

https://blazorrepl.telerik.com/GeEinkvw42carE5f35

Completed
Last Updated: 17 Oct 2024 08:29 by ADMIN
Release 6.1.0
Created by: Nathan
Comments: 7
Category: Popover
Type: Bug Report
13

A basic example of the issue is using the Popover with a Grid: https://blazorrepl.telerik.com/cyuGvQPB37aekvo514.

On initial load, the Popover is properly attached to the span elements in the Grid cells. If I filter, however, the elements are disposed and re-initialized - after that, the Popover is not attached to the new elements even though they have the same class used as a target selector.