Javascript 如何在侦听器之后添加可拖动功能

Javascript 如何在侦听器之后添加可拖动功能,javascript,backbone.js,Javascript,Backbone.js,因此,我试图避免使用JQUERY UI或任何JS智能库,并试图在backbone.JS中创建一些拖放功能。正如您在www.smartkrawl.com左侧看到的那样,我已经取得了一些成功,但无法在画布部分移动桌子。下面是一段代码,用于侦听mousedown事件以执行可拖动功能,但如果查看站点的源代码,则可以使用JS文件,特别是ocoa-tables.JS。任何帮助都将不胜感激 var Table = Backbone.Model.extend({ initialize:funct

因此,我试图避免使用JQUERY UI或任何JS智能库,并试图在backbone.JS中创建一些拖放功能。正如您在www.smartkrawl.com左侧看到的那样,我已经取得了一些成功,但无法在画布部分移动桌子。下面是一段代码,用于侦听mousedown事件以执行可拖动功能,但如果查看站点的源代码,则可以使用JS文件,特别是ocoa-tables.JS。任何帮助都将不胜感激

    var Table = Backbone.Model.extend({
    initialize:function(options){
        this.set("x",options.x);
        this.set("y",options.y);
        this.set("el",options.el);
        $('body').on('mousedown','.table', function() {
            console.log('mousedown')
        });

    }

});

您可能应该对此使用视图,而不是模型。因此,将每个表作为一个单独的视图,然后使用
events
hash添加侦听器,而不是将其委托给
主体

var TableView = Backbone.View.extend({

    events: {
        "mousedown": "_onMouseDown"
    },

    _onMouseDown: function(e) {
        console.log('mousedown')
    }
});

var firstTable = new TableView({ el: ".first.table" });
var secondTable = new TableView({ el: ".second.table" });

我不熟悉backbone.js,但我确实觉得我对jQuery有相当的了解。我希望我没有问一个明显的问题,不过如果你想要的是桌子,为什么不直接针对桌子呢

$(".table").on("mousedown", function() {
...
});

我得到了整个事件监听器的东西,我可能会把它调高,更重要的是,好吧,我现在把这个表放在画布区域,我如何像在左窗格中那样移动它?我得到了整个事件监听器的东西,我可能会把它调高,更重要的是,好吧,我现在把这个表放在画布区域,如何像在左窗格中那样移动它?