首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Ember.js拖放

使用Ember.js拖放
EN

Stack Overflow用户
提问于 2012-05-24 22:18:49
回答 1查看 6.3K关注 0票数 10

有没有关于如何用Ember.js实现拖放的例子?我尝试过使用jQuery UI,但集成似乎有点复杂。

我见过这个jsFiddle:http://jsfiddle.net/oskbor/Wu2cu/1/,但还没能在我自己的应用程序中成功实现它。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-25 00:18:47

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

Handlebar

代码语言:javascript
运行
复制
<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

代码语言: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);​
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10739322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档