簡體   English   中英

d3拖動事件導致TypeError

[英]d3 drag event causes TypeError

我正在嘗試在圖表中啟用拖動,但是我只遇到了dragstart和dragend事件。

奇怪的是,如果我在示例中使用.origin方法,它將引發異常(Uncaught TypeError:無法讀取undefined的屬性'x'):

this._drag = d3.behavior.drag()
//.origin(function(d) { return d;}) //if uncommented, throws error!
.on("drag", function(d){console.log("drag!", d); self.on_drag(this);})
.on("dragstart", function(){self.on_drag_start(this);})
.on("dragend", function(){self.on_drag_end(this);})
;

源問題是由於我試圖拖動一個svg元素而導致的,該元素不是圖表本身的一部分,而是我單獨添加的裝飾器項(以模擬圖標)。 因此,該元素沒有基准(d未定義),但是如果返回具有x和y屬性的自定義對象,則可以正常使用拖動行為。

感謝#d3.js irc頻道上的人員幫助我解決了這個問題!

暫無
暫無

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

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