0

我正在尝试使用 d3 和 svg 在一组可排序的元素上实现一些拖放功能。基本上,在拖动之后,所有元素的位置都会更新为它们的新位置,根据拖动元素的放置位置计算。为了完成我需要的事情,我正在使用dragendd3 提供的回调。

我在这里准备了我的场景的简化版本:

http://jsfiddle.net/G52rB/4/

如您所见,每个可拖动元素都包含一个 svg 超链接。该链接在 Chrome 和 Safari 中有效,但在 FF 中不可点击。

到目前为止,从我的谷歌搜索来看,问题似乎源于点击事件的 mouseup 部分的传播,我猜这在 FF 中没有正确冒泡。我正在使用 d3 版本 2.7.4。

我在最新版本的 d3 中尝试了相同的代码,但问题仍然存在。

4

1 回答 1

0

这不是一个解决方案,而是使用 hack 的解决方法。

我基本上检查被丢弃的元素是否真的被移动了,浏览器是否是火狐。如果两个条件都为真并且点击目标是一个链接,我会重定向到该链接的 url。

这是使用解决方法和最新版本 d3 的更新 JSFiddle 版本:

http://jsfiddle.net/G52rB/8/

于 2012-05-06T19:21:23.477 回答