标签: draggable

嵌套的 html5 可拖动项目

我对 html5 可拖动项目有疑问。我一直在看这个例子: https: //codepen.io/retrofuturistic/pen/tlbHE

如果我自定义它并使父母可拖动

<ul>
    <li draggable="true" class="parent-li">
        <ul id="columns-1">
            <li class="column child-li" draggable="true"><header>A</header></li>
            <li class="column child-li" draggable="true"><header>B</header></li>
        </ul>
    </li>
    <li draggable="true" class="parent-li">
        <ul id="columns-2" draggable="true">
            <li class="column child-li" draggable="true"><header>A</header></li>
            <li class="column child-li" draggable="true"><header>B</header></li>
        </ul>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

事实证明,当您尝试对列表项“child-li”进行排序时,它会尝试拖动“parent-li”

this.parentNode.removeChild(dragSrcEl);
Run Code Online (Sandbox Code Playgroud)

DragSrcEl 与 this.parentNode 相同:“parent-li”。

那么只要列表项处于同一级别就可以对它们进行排序吗?

html javascript draggable html5-draggable

1
推荐指数
1
解决办法
816
查看次数

拖动以关闭 UIPresentationController

我使用本教程制作了一个适合任何视图控制器并显示在屏幕的一半上的 UIPresentationController 。现在我想添加阻力来消除这个问题。我试图让拖动感觉自然且响应灵敏,就像 Apple iOS 13 股票应用程序上“热门故事”的拖动体验一样。我认为 iOS 13 模式拖动关闭会被保留,但它不会转移到这个控制器,但事实并非如此。

我发现的每一点代码和教程都有糟糕的拖动体验。有谁知道如何做到这一点?过去一周我一直在尝试/寻找。先感谢您

这是我的演示控制器代码

class SlideUpPresentationController: UIPresentationController {
    // MARK: - Variables
    private var dimmingView: UIView!
    
    //MARK: - View functions
    override init(presentedViewController: UIViewController, presenting presentingViewController: UIViewController?) {
        super.init(presentedViewController: presentedViewController, presenting: presentingViewController)
        setupDimmingView()
    }
    
    override func containerViewWillLayoutSubviews() {
      presentedView?.frame = frameOfPresentedViewInContainerView
    }
    
    override var frameOfPresentedViewInContainerView: CGRect {
        guard let container = containerView else { return super.frameOfPresentedViewInContainerView }
        let width = container.bounds.size.width
        let height : CGFloat = 300.0
        
        return CGRect(x: 0, y: container.bounds.size.height …
Run Code Online (Sandbox Code Playgroud)

draggable ios uipangesturerecognizer swift uipresentationcontroller

1
推荐指数
1
解决办法
2289
查看次数

React-Beautiful-Dnd 找不到带 Id 的可拖动元素

我正在尝试复制 React-beautiful-dnd 教程步骤 4:重新排序列表。据我所知,我已经复制了教程中的代码: https: //egghead.io/lessons/react-reorder-a-list-with-react-beautiful-dnd

但是,当我运行反应并尝试拖动列表项时,我收到如下错误:Unable to find draggable element with id: task-1

如果我查看 DOM,我肯定可以看到具有该 id 的元素:

在此输入图像描述

在此输入图像描述

我不明白我做错了什么。我将 id 打印到控制台以检查它是否是一个字符串,确实如此。想法?

初始数据.JS

const initialData = {

    tasks : {
        "task-1" : { id : "task-1", content : "Take out garbage"},
        "task-2" : { id : "task-2", content : "Watch show"},
        "task-3" : { id : "task-3", content : "Charge phone"},
        "task-4" : { id : "task-4", content : "Cook dinner"},
    },

    columns : {
        "column-1" : {
            id : …
Run Code Online (Sandbox Code Playgroud)

draggable reactjs react-beautiful-dnd

1
推荐指数
1
解决办法
5865
查看次数

在wxWidgets中创建一个无标题/无边框的可拖动wxFrame

您好,我正在尝试创建一个 wxApp,它没有默认提供的标题栏(包括最小化、最大化和关闭)图标。我的代码如下: main.h

class MyApp : public wxApp
{
  public:
    virtual bool OnInit();
};

Run Code Online (Sandbox Code Playgroud)

主程序

bool MyApp::OnInit()
{

    MyFrame *prop = new MyFrame(wxT("MyFrame"));
    prop->Show(true);

    return true;
}
Run Code Online (Sandbox Code Playgroud)

myframe.h

class MyFrame : public wxFrame
{
public:
  MyFrame(const wxString& title);
  
  void OnClick(wxMouseEvent& event);

};
Run Code Online (Sandbox Code Playgroud)

myframe.cpp

MyFrame::MyFrame(const wxString& title)
    : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 130))
{
  MyPanel *panel = new MyPanel(this, wxID_ANY);
  panel->SetBackgroundColour(wxColour(255,255,255));
  MyButton *button = new MyButton(panel, wxID_ANY, wxT("Ok"));

  Connect( wxEVT_LEFT_UP, 
      wxMouseEventHandler(MyFrame::OnClick));

  panel->Centre();
}


void MyFrame::OnClick(wxMouseEvent& event) 
{
  std::cout << "event …
Run Code Online (Sandbox Code Playgroud)

c++ events wxwidgets draggable c++11

1
推荐指数
1
解决办法
1497
查看次数

React 漂亮的 DND - 在 Droppable 之间自动滚动

我创建了一个带有可拖动行的可拖动拖放表。

为了满足我的项目的需要,我添加了多个带有多个 Droppable元素的放置目标,如下例所示: https ://codesandbox.io/s/ql08j35j3q

它工作得很好,但有一个问题,即滚动速度。
当我尝试将项目放入页面底部的元素中时,速度变得非常慢。

这张 GIF 就可以说明问题。 在此输入图像描述

您有任何解决方案的线索吗?

draggable reactjs react-beautiful-dnd

1
推荐指数
1
解决办法
4214
查看次数

JSplitPane 的 Jetpack Compose 替代品是什么?

在 Swing 中,我用来JSplitPane创建一个左侧(前导)具有树视图的区域和一个右侧(尾随)具有十六进制查看器的区域,用户可以在其中移动分隔线来调整每个获得的空间。

由于 Jetpack Compose 仍然相对较新,因此诸如SplitView(此类组件的假设名称遵循其命名方案)之类的基本组件尚不存在。我能看到的最接近的概念是RowandColumn但这些用户不能调整大小(据我所知。)

如果不嵌入 Swing JSplitPane,然后在分割窗格的每一侧嵌入 Compose 组件,是否有一个好的方法可以做到这一点?

我找到了一个例子,成功了 90%,但是有一些被删除的 API 很难找到替代品,因为发行说明似乎没有提及它。(!!)

draggable splitpane compose-desktop

1
推荐指数
1
解决办法
729
查看次数

如何在 Nuxt 3 项目中使用 vue3 组件(vue.draggable.next)作为插件

在我最近开始的项目中,我想使用vue.draggable.next。所以我在 nuxt 插件目录中创建了一个“.js”文件,并添加了如下代码。

import VueDraggableNext from "vue-draggable-next";

export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.vueApp.use(VueDraggableNext);
});
Run Code Online (Sandbox Code Playgroud)

然后我在我的一个组件中使用了它,如下所示,

<template>
  <div class="h-full w-full border-2 border-dashed rounded-lg p-5 flex">
    <div class="flex w-1/6 h-full">
      <ComponentPalette />
    </div>
    <VueDraggableNext
      v-model="form.children"
      group="people"
      @start="isDragOver = true"
      @end="isDragOver = false"
      item-key="id"
      class="flex flex-col w-5/6 h-full border-blue-700 border-2 border-dashed rounded-lg p-5 space-y-5"
    >
    <template #item="{element}">
    <FormBuilder
        :component="element"
        @update="update"
      />
   </template>
      
    </VueDraggableNext>
  </div>
</template>

<script setup>
import FormBuilder from "~~/components/dynamic-components/FormBuilder.vue";
import ComponentPalette from "~~/components/form-builder/ComponentPalette.vue";
import { v4 as uuidv4 } …
Run Code Online (Sandbox Code Playgroud)

javascript plugins draggable vuejs3 nuxtjs3

1
推荐指数
1
解决办法
3718
查看次数

如何阻止Div移出边界Jquery draggable();

如何阻止div移出边界div

这是我到目前为止的代码.

  <script>
 $(document).ready(function() {
 $("#draggable").draggable({ grid: [50, 20] });
  });
  </script>
  <div id="drag_border">
  <div id="draggable" style="width:500; height:800">Drag me</div>
  </div>
Run Code Online (Sandbox Code Playgroud)

谢谢,

drag-and-drop jquery-ui draggable

0
推荐指数
1
解决办法
3540
查看次数

从NSButton拖动到NSButton

我正在尝试编写应用程序.这将允许用户从一个拖动NSButton到另一个.丢弃时,我希望将标题放在按钮上.

我无法找到一种NSButton可拖延的方法.可能吗?

cocoa drag-and-drop draggable nsbutton

0
推荐指数
1
解决办法
1366
查看次数

像耐心/克朗代克纸牌游戏一样拖动节点

我在做克朗代克游戏。逻辑全部正常。我在用javafx中的UI遇到麻烦。

我一直在尝试将卡从“桌面堆”区域移动/拖动,但没有得到预期的结果。我的卡是一个ImageView,里面有一个Image。卡位于窗格中:

Pane tableau = new Pane();
for (int i = 0; i < n; i++) {
    Image img = new Image("resources/images/" + (i + 1) + ".png");
    ImageView imgView = new ImageView(img);
    imgView.setY(i * 20);
    //imgView Mouse Events here
    tableau.getChildren().add(imgView);
}
Run Code Online (Sandbox Code Playgroud)

我试过了:

imgView.setOnMousePressed((MouseEvent mouseEvent) -> {
    dragDelta.x = imgView.getLayoutX() - mouseEvent.getSceneX();
    dragDelta.y = imgView.getLayoutY() - mouseEvent.getSceneY();
});
imgView.setOnMouseDragged((MouseEvent mouseEvent) -> {
    imgView.setLayoutX(mouseEvent.getSceneX() + dragDelta.x);
    imgView.setLayoutY(mouseEvent.getSceneY() + dragDelta.y);
});
Run Code Online (Sandbox Code Playgroud)

该解决方案不起作用,因为我正在设置位置,因此释放卡时不会回到原来的位置,而且卡正在与其他UI对象碰撞。

另一尝试:

imgView.setOnDragDetected((MouseEvent event) -> {
    ClipboardContent content = new ClipboardContent(); …
Run Code Online (Sandbox Code Playgroud)

java javafx draggable

0
推荐指数
1
解决办法
939
查看次数