2015-04-02 59 views
-1

因此,我試圖避免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') 
     }); 

    } 

}); 

回答

0

您可能應該使用視圖而不是模型。因此,請各表作爲一個單獨的視圖,然後使用events哈希添加監聽器,而不是委託它的body

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" }); 
+0

我得到整個事件偵聽器的事情,我可以切換,最多是多的,沒關係的事,我在畫布區域這個表了,我怎麼移動它就像我在leftpane做? – 2015-04-02 22:07:33

0

的我不熟悉Backbone.js的,雖然我不覺得我有一個體面的把握jQuery的。我希望我沒有問一個明顯的問題,但如果它是你想要的桌子,爲什麼不直接瞄準桌子呢?

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

我得到整個事件監聽器的東西,我可能會把它切換到更多的問題上,好吧,我現在在畫布區域有這張表,我該如何像在左側一樣移動它? – 2015-04-02 22:07:12

相關問題