簡體   English   中英

如何以編程方式觸發D3拖動事件?

[英]How to programmatically trigger a D3 drag event?

所以我有一些與拖動事件監聽器綁定的數據:

myNodes.enter()
    .append("svg:g")
    .call(d3.behavior.drag()
        .on("drag", function() { 
            console.log(d3.event.dx, d3.event.dy);
        })
    );

現在我想以編程方式在某個節點上調用此onDrag函數。 我知道標准事件可以做到這一點

aNode.on("click")() // works
aNode.on("drag")()  // doesn't work

有沒有辦法這樣做? 謝謝。

將回調(傳遞給拖動處理程序的回調)保存在變量中,然后在其他上下文中調用此變量。

var dragCallback = function(){
  console.log(d3.event.dx, d3.event.dy);
};
var dragBehavior = d3.behavior.drag()
                     .on("drag", dragCallback);
myNodes.enter()
  .append("g")
  .call(dragBehavior);
  //Call drag method programmatically
  dragCallback()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM