d3:画笔更改单击鼠标悬停

2024-01-09

我正在尝试结合画笔选择、工具提示和单击事件来创建散点图,但似乎一旦我将画笔添加到 svg 画布,对象上的所有单击事件都会映射到鼠标悬停。有没有办法解决?下面的示例代码和@http://jsfiddle.net/7j8cr/ http://jsfiddle.net/7j8cr/

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script>

var my_circles = [{"x": 40, "y": 100, "r": 12},
              {"x": 100, "y": 40, "r": 8}],
    width = 400,
    height = 400,
    svg = d3.select("body").append("svg")
        .attr("width", width)
        .attr("height", height);

function click(d) { console.log("Clicky Clicky!") };
function mouseover(d) { console.log("I saw  mouse!") }

var brush = d3.svg.brush()
    .x(d3.scale.identity().domain([0, width]))
    .y(d3.scale.identity().domain([0, height]))

svg.call(brush);

svg.selectAll("dataObj")
    .data(my_circles)
    .enter().append("circle")
        .attr("r", function(d) { return d.r })
        .attr("cx", function(d) { return d.x })
        .attr("cy", function(d) { return d.y })
        .style("fill", "blue")
        .on("mouseover", mouseover)
        .on("click", click); 

</script>

单击圆圈触发mouseover(),您可以通过注释掉该行来获得相同的操作来触发正确的事件

svg.call(brush);

但显然你松开了刷子......有没有办法让所有 3 个都正确运行?


单击事件不会转换为鼠标悬停,它们根本就没有发生 - 您看到的鼠标悬停事件是当您将光标移到圆圈上以单击它时。然而,这个问题有一个简单的解决方案——你所需要做的就是设置pointer-events to all在圆圈上。

完整示例here http://jsfiddle.net/7j8cr/2/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

d3:画笔更改单击鼠标悬停 的相关文章

随机推荐

  • 找不到接口 java.util.List Rest API Spring boot 的主要或默认构造函数

    我将请求正文传递给邮递员上的 POST 请求 类似于以下内容 name Mars artifacts elements name carbon amount 0 5 measurement g typeName typeA elements
  • 使用 ShouldBeEquivalentTo 并处理不同的名称

    我想做一个映射器测试 将数据库模型映射到 dto 数据库模型中有 class Order long Id 但在 Dto 上 同一个字段被命名为 class OrderDto long OrderId 使用 ShouldBeEquivalen
  • PayPal 和 Parse 冲突

    尝试使用 PayPal iOS SDK 使其能够仅与 Paypal 集成一起工作 但是当我尝试添加任何解析所需的框架 例如 Parse framework Boltz framework 和 ParseFacebookUtils frame
  • 使用宏将 import 语句粘贴到 thunk 前面

    触发于这个问题 https stackoverflow com questions 18535356 multiple late initialisation 我想知道是否可以编写一个 def macro 来实现结果 import scal
  • 对于 OpenXML Excel 文档,MemoryStream 为空

    我通常会使用 ClosedXML 生成 Excel 文件 核心项目迫使我只使用 OpenXML 将下载生成的 Excel 文件 我遇到一个问题 即提供给 SpreadsheetDocument 的内存流为空 我尝试了多种方法来生成流 下面的
  • node.js:在成功验证 get 请求后提供文件(特别是 apk)

    好吧 我正在尝试在成功验证 get 请求后使用 node js 提供 apk 文件 为此 我使用以下形式的 api 调用 GET apk username user token a token goes here 请注意 实际的身份验证是通
  • 使用 Laravel 下订单后减少数据库中的产品数量

    我在网站上有购物车 到目前为止一切正常 现在 我正在尝试为管理员可以在后端添加的每种产品进行数量 已经完成 以及当客户订购产品以减少数据库中的数量时 到目前为止 管理面板已准备就绪 可以向保存在数据库中的产品添加数量 这是我的购物车提交控制
  • 在 Ubuntu 10.04 上编译时未声明 PATH_MAX

    我正在尝试在 Ubuntu 10 04 中为 8 04 编译 C 程序 它失败了 因为我们已经使用了PATH MAX以及其他应该定义的常量limits h 根据各种资源 它应该是 POSIX 兼容 C 库的一部分 这是 Ubuntu 10
  • 单元测试双向 EF 关系

    我正在做一个小型实践项目来提高我的单元测试技能 我正在使用实体框架代码优先 我正在使用 FakeDBSet 它非常适合简单的实体列表 当实体树返回时 事情就不太好了 特别是 不会维护两种方式的关系 因为这是实体框架魔法的一部分 我有两节课
  • 安装后如何添加更多Qt版本?

    我已经安装了开源 Qt 5 5 0 设置如下 Kits Desktop Qt 5 4 2 MSVC2013 64bit2 Desktop Qt 5 5 0 MSVC2013 64bit Qt 版本 Qt 5 4 2 MSVC2013 64b
  • Rails - image.png 未预编译

    我正在尝试在 Amazon 的 EC2 服务器上部署 Web 应用程序 并且我将代码放在服务器上 一切看起来都正常 但是当我进入主页时 我收到一条 500 错误消息 并且production log文件给我以下错误 ActionView T
  • iPhone(SDK 2.2):在不主动使用 AVFoundation 播放音乐时调整播放音量?

    所以我有一个可以播放许多简短声音剪辑的应用程序 我需要知道声音何时播放完毕 并且我需要使用 mp3 因此我使用 AVFoundation 进行声音播放 当正在播放声音并且用户使用硬件音量按钮时 播放音量会发生变化 问题是 该应用程序不会不断
  • 在 Windows 8 应用程序中以编程方式使用 SSL 证书

    我需要这方面的帮助 我们的后端由自签名证书保护 我们称之为 OurMegaCool Certificate cer 因此 我们已使用以下命令将此证书导入到我们的开发人员机器中证书管理器MSC 现在我们可以使用以下代码从后端检索数据 asyn
  • 截取 BlackBerry 中当前屏幕的屏幕截图

    是否可以在 BlackBerry 应用程序中截取当前屏幕的屏幕截图 我的屏幕上有一个按钮 当我单击该按钮时 我想发送一封包含当前屏幕截图的电子邮件 您可以使用以下方法获取显示屏幕的屏幕截图 public static Bitmap getS
  • mvc 3会话和authorizeAttribute

    我的网站对所有人开放 但我有一个控制器 其中有某种方法 只有具有用户名和密码的管理员才能输入 我正在拯救布尔IsManager in a session 我想使用授权属性来阻止任何人IsManager false 首先定义一个ActionF
  • 以编程方式导航时,Angular Router 旧组件保留在 dom 中

    角度版本 4 从登录后LoginComponent 位于public signin路线 我想导航到TestComponent在路径中public test 我这样做如下 this router navigate public test 然后
  • CSS - 三个可滚动等高主要内容列(流体高度)和粘性/始终可见的页脚

    我几乎浏览了这里和 Google 上的所有帖子 似乎找不到关于 3 个等高列 带有 真正 粘性页脚 的 CSS 布局问题的答案 布局要求如下 顶部标题部分 其中一行用于下拉菜单选项 另一行用于工具栏按钮 主要内容部分 有 3 个等高的列 中
  • Javascript 相当于 Python 的 locals() 吗?

    在Python中 我们可以使用内置函数获取当前范围内所有局部和全局变量的字典locals and globals 在 Javascript 中是否有一些等效的方法可以做到这一点 例如 我想做如下的事情 var foo function al
  • 使用值和引用参数类型重载的方法

    我有以下代码 class Calculator public int Sum int x int y return x y public int Sum out int x out int y x y 10 return x y class
  • d3:画笔更改单击鼠标悬停

    我正在尝试结合画笔选择 工具提示和单击事件来创建散点图 但似乎一旦我将画笔添加到 svg 画布 对象上的所有单击事件都会映射到鼠标悬停 有没有办法解决 下面的示例代码和 http jsfiddle net 7j8cr http jsfidd