2012-11-12 28 views
4

如果在縮放行爲轉換結束時有一種輕鬆綁定到事件的方式 - 用戶mouseup或觸摸移動圖表的某些東西時,將會很方便。這是可能的,只是約束所有的事件,或者這是人們以其他方式做的事情?綁定到以縮放行爲結尾的縮放

回答

2

我在找同樣的東西,我發現this post

你可以寫這樣的事情:

var svg = outer.append("svg:g") 
      .call(d3.behavior.zoom() 
        .on("zoom", rescale) 
        .on("zoomstart", zoomStart) 
        .on("zoomend", zoomEnd)) 
      .on("dblclick.zoom", null) 
      .append("svg:g"); 

function zoomStart(){ 
    console.log("ZOOM START"); 
} 

function zoomEnd(){ 
    console.log("ZOOM END"); 
} 

希望它能幫助。

2

在d3 v4中,zoom.on類型名已更改。他們現在是「開始」,「縮放」和「結束」。

var d3zoom = d3.zoom() 
    .on("start", zoomStartFunction) 
    .on("zoom", zoomFunction) 
    .on("end", zoomEndFunction); 

    svg.call(d3zoom); 

檢查出非常有幫助的docs