在 Blazor 中实现可移动的 <div>

Yor*_*iev 3 blazor blazor-client-side

我正在尝试将其实现为 Blazor 中可移动的组件,但我不确定如何将 JavaScript 转换为 Blazor。我通常正在尝试实现以下目标:https : //stackoverflow.com/a/47596086/767942

  • 如何处理 @onmousedown 并将其转换为 Blazor 以实现上面示例中的可移动 <div> ?

yTo*_*ide 8

这是使用我用来制作可移动“弹出窗口”的ondragstartandondragend事件的另一种方法。

<div draggable="true"
     @ondragend="OnDragEnd" @ondragstart="OnDragStart"
     style="position:absolute; top: @(offsetY)px; left: @(offsetX)px; border-color: black;">
   <div>your content</div>
</div>

@code 
{
     private double startX, startY, offsetX, offsetY;

     private void OnDragStart(DragEventArgs args) {
         startX = args.ClientX;
         startY = args.ClientY;
 }

     private void OnDragEnd(DragEventArgs args)
 {
         offsetX += args.ClientX - startX;
         offsetY += args.ClientY - startY;
    }
}
Run Code Online (Sandbox Code Playgroud)