javascript - 如何在文本输入中添加拖放区域?

标签 javascript html drag-and-drop textinput webix

我正在尝试实现从数据表到 Webix 文本输入的 DnD。 其实我找到了a sample对于 html 输入:

    webix.DragControl.addDrop("mytext", {       // "mytext" is a DIV id
        $drop:function(source, target, event){
            var dnd = webix.DragControl.getContext();
            target.value = dnd.from.getItem(dnd.source[0]).title;
        }
    })

但是我怎样才能将 addDrop 改为 Webix ui.text 呢?是否可以用其他东西替换 DIV id? 关键是内部输入的 ID 是动态的(存储到重新加载页面为止),因此我没有看到任何易于理解的方法来向其添加放置区域。任何想法都值得赞赏。

这是基于上一个示例的演示:http://webix.com/snippet/14cbbeec

最佳答案

一个肮脏的解决方案是将 addDrop 添加到 webix 小部件 $view 属性(= DOM 元素):

webix.DragControl.addDrop($$('webixText').$view, {
  $drop:function(source, target, event){
    var dnd = webix.DragControl.getContext();
    // target is the DOM element, so have to access webix widget with id
    $$('webixText').setValue(dnd.from.getItem(dnd.source[0]).title);
  }
});

更新的代码片段:http://webix.com/snippet/77363e5a

关于javascript - 如何在文本输入中添加拖放区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40724937/

相关文章:

javascript - let 语句是否在全局对象上创建属性?

javascript - 使用html5播放音频流

javascript - 向子 div 添加悬停效果不起作用

jquery - 使用 css 缩放拖放

java - 在java中拖放图像

javascript - 用于解析可能用引号表示的参数的正则表达式

javascript - 为什么canvas不能在本地工作但在TRYIT上工作

javascript - 使用 ZeroClipboard : want to get formatted text 从剪贴板复制

javascript - 侧向切换 - 向右滑动打开,向左滑动关闭

java - 使用 MouseListener/MouseMotionListener 移动对话框时如何减少 Java Swing 抖动/闪烁/摇晃?