drag-and-drop - 使用Ember.js拖放

标签 drag-and-drop ember.js

是否有一个示例如何使用Ember.js实现拖放?我尝试使用jQuery UI,但是集成似乎有些复杂。

我已经看过这个jsFiddle:http://jsfiddle.net/oskbor/Wu2cu/1/,但是无法在我自己的应用程序中成功实现。

使用Ember.js进行相当简单的拖放实现有哪些选项?

最佳答案

我看了Remy Sharp的post并在Ember.js中实现了一个基本示例,请参阅http://jsfiddle.net/pangratz666/DYnNH/

Handlebars :

<script type="text/x-handlebars" >
    Drag and drop the green and red box onto the blue one ...

    {{view App.Box class="box green"}}
    {{view App.Box class="box red"}}

    {{view App.DropTarget class="box blue"}}
</script>​

JavaScript :

DragNDrop = Ember.Namespace.create();

DragNDrop.cancel = function(event) {
    event.preventDefault();
    return false;
};

DragNDrop.Dragable = Ember.Mixin.create({
    attributeBindings: 'draggable',
    draggable: 'true',
    dragStart: function(event) {
        var dataTransfer = event.originalEvent.dataTransfer;
        dataTransfer.setData('Text', this.get('elementId'));
    }
});

DragNDrop.Droppable = Ember.Mixin.create({
    dragEnter: DragNDrop.cancel,
    dragOver: DragNDrop.cancel,
    drop: function(event) {
        var viewId = event.originalEvent.dataTransfer.getData('Text');
        Ember.View.views[viewId].destroy();        
        event.preventDefault();
        return false;
    }
});

App.Box = Ember.View.extend(DragNDrop.Dragable);
App.DropTarget = Ember.View.extend(DragNDrop.Droppable);​

关于drag-and-drop - 使用Ember.js拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10739322/

相关文章:

delphi - 结束或取消 Delphi 应用程序中的拖放操作

javascript - HTML5 dragend 事件立即触发

delphi - Firemonkey 中缺少事件操作和过程

Ember.js: attributeBinding 与 '-' 火 'SyntaxError: Unexpected token -'

C# 从一个图片框拖放到另一个图片框

java - 检测来自同一进程的滴

ember.js - Ember.js动态模型属性

ruby-on-rails - Ember Data 无法通过 createRecord 正确地将参数传递给 Rails

javascript - 如何在 route 使用空白的 Ember 数据模型?

javascript - 获取组件内当前 Ember 路由的访问权限