Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

In my Blazor Server side app: How can I fire an action when anywhere on the razor page's body is clicked (except a button)?

$
0
0

In my blazor server side app I want to listen to the mouseclick event on a razor page, and when mouseclick occurs (except on a button), I want to run a method.I have tried following with JavaScript but didn't worked for me:

in my _host.cshtml added following script:

window.addDocumentClickListener = () => {  document.addEventListener('click', function (e) {    if (e.target.tagName.toLowerCase() !== 'button') {      DotNet.invokeMethodAsync('MyProjectName', 'HandleMouseClick');    }  });};

in my Razor page:

@inject IJSRuntime JS    ...    ...@code {    protected override async Task OnAfterRenderAsync(bool firstRender)    {        if (firstRender )        {            await JS.InvokeVoidAsync("addDocumentClickListener");        }    }    [JSInvokable]    public void HandleMouseClick()    {        Action_On_Mouseclick();            }}

Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>