0
我使用模板系統返回由d3代碼生成的SVG代碼。 (有關信息,請參閱d3 issue如何執行此操作)節點上的d3事件處理程序不在HTML DOM中
一切正常,但使用d3的on
方法設置的事件偵聽器除外。它們不會被添加到DOM樹中。
下面是一個不起作用的簡單代碼示例。如果d3直接修改現有的DOM樹,則一切正常(取消註釋行3而不是1和2)。
任何想法要改變這個工作?
svg = d3.select(document.createElement('div'));
svg
//d3.select('body') // if you use this line INSTEAD of the first two, everything works as expected
.append("div")
.append("div")
.text('Text')
.on('mouseover', function() { alert('Test'); });
//alert(svg.node().innerHTML);
$("body").html(svg.node().innerHTML);
是的,我已經得到了區別,所以答案是這是D3不可能的。知道原因會很有趣,因爲'innerHTML'可以用'onClick'屬性返回HTML標籤。 – Nef10