Svg D3在FF中不可单击锚定标记的情况下拖放
我正试图用d3和svg在一组可排序的元素上实现一些拖放功能。基本上,在拖动之后,所有图元的位置都会更新为其新位置,并根据拖动图元的放置位置进行计算。为了完成我所需要的,我正在使用d3提供的Svg D3在FF中不可单击锚定标记的情况下拖放,svg,d3.js,Svg,D3.js,我正试图用d3和svg在一组可排序的元素上实现一些拖放功能。基本上,在拖动之后,所有图元的位置都会更新为其新位置,并根据拖动图元的放置位置进行计算。为了完成我所需要的,我正在使用d3提供的dragend回调 我在这里准备了我的场景的简化版本: 如您所见,每个可拖动元素都包含一个svg超链接。该链接在Chrome和Safari中可用,但在FF中不可单击 从我的谷歌搜索到目前为止,问题似乎源于点击事件的mouseup部分的传播,我猜它在FF中没有正确地冒泡。我使用的是d3版本2.7.4 我在最新版
dragend
回调
我在这里准备了我的场景的简化版本:
如您所见,每个可拖动元素都包含一个svg超链接。该链接在Chrome和Safari中可用,但在FF中不可单击
从我的谷歌搜索到目前为止,问题似乎源于点击事件的mouseup部分的传播,我猜它在FF中没有正确地冒泡。我使用的是d3版本2.7.4
我在最新版本的d3中尝试了相同的代码,但问题仍然存在 这与其说是一个解决方案,不如说是一个使用黑客的变通方法 我基本上会检查被删除的元素是否已经移动,以及浏览器是否是Firefox。如果这两个条件都为真,并且单击目标是链接,我将重定向到链接的url 以下是使用变通方法和最新版本的d3更新的JSFIDLE版本: