【发布时间】:2016-10-14 23:00:42
【问题描述】:
我正在使用 d3 生成一些图表,结果是一个点部分落在 svg 元素之外。
使用 Safari 时出现问题,它既没有检测到悬停也没有检测到点击事件。
这是一个显示正在发生的事情的小提琴:
http://jsfiddle.net/3a5AN/72/
在 chrome 中它可以正常工作,但在 safari 中它甚至不会触发 cursor:pointer;
【问题讨论】:
我正在使用 d3 生成一些图表,结果是一个点部分落在 svg 元素之外。
使用 Safari 时出现问题,它既没有检测到悬停也没有检测到点击事件。
这是一个显示正在发生的事情的小提琴:
http://jsfiddle.net/3a5AN/72/
在 chrome 中它可以正常工作,但在 safari 中它甚至不会触发 cursor:pointer;
【问题讨论】:
我遇到了类似的问题,按照建议,我必须将 SVG 的宽度和高度设置为浏览器宽度
这就是我的工作方式
let width = window.innerWidth;
let height = window.innerHeight;
const svg = $window.d3.select('#svgContainer')
.append('svg')
.style('width', width + 'px')
.style('height', height + 'px');
然后当然会在浏览器调整大小时添加一个监听器,以在调整大小时更新宽度和高度。
【讨论】: