【问题标题】:Drag&Drop with Ember.js使用 Ember.js 拖放
【发布时间】:2012-05-31 03:29:10
【问题描述】:

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

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

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

【问题讨论】:

    标签: drag-and-drop ember.js


    【解决方案1】:

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

    车把

    <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);​
    

    【讨论】:

    • 这看起来很有希望,并且与我在自己的应用程序中的类似。但它不会真正支持不支持 HTML5 可拖放属性的浏览器,这就是我在这里所追求的。显然我最关心的是 IE 支持 :)
    • 嗯,好像IE支持,见caniuse.com/#feat=dragndrop...
    • 你能用 jquery 1.7 更新你的小提琴吗?它似乎使用 jQuery edge 被破坏了。
    • @sly7_7 哇,谢谢你的收获!!我已更新代码以使用 1.7.2。
    • 没问题,只是运气问题,找到这个答案来回答另一个问题:)
    猜你喜欢
    • 2016-12-20
    • 2020-06-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 2012-01-30
    • 2011-08-05
    • 2011-01-05
    • 2012-01-14
    相关资源
    最近更新 更多