我正在尝试启用 JavaScript 代码,以便在绑定(bind)到使用 d3@3 在 NodeJS 中创建的 SVG 元素的操作上调用。 不幸的是,on('click') 没有渲染。
router.get('/test', function(req, res) {
const dom = new JSDOM();
var svg = d3.select(dom.window.document.body)
.append("svg")
.attr("xmlns", "http://www.w3.org/2000/svg")
svg.insert('rect')
.attr("width", 200)
.attr("height", 200)
.on('click', function() { console.log('click')});
svgStr = dom.window.document.body.innerHTML;
res.set('Content-Type', 'image/svg+xml');
res.send(svgStr);
})
输出:
<svg xmlns="http://www.w3.org/2000/svg"><rect width="200" height="200">
</rect></svg>
on('点击')在哪里??
最佳答案
设置
`
//...
.attr("height", 200)
.attr("onclick" , "console.log('click')")`
为您点击
请记住,不允许从图像到页面执行任何操作
关于javascript - d3js - 使用 javascript 操作创建服务器端 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53146126/