D3 Handling Events
this
代表的就是当前元素
<p id = "test">click</p><script>// var para = document.getElementById("test")// para.onclick = function(){this.innerHTML = "Done"}d3.select("#test").on("click",function(){d3.select(this).text("Done")})</script>
拖拽
<script>var circles = [{cx:150, cy:220, r:30},{cx:250, cy:200, r:30}]var svg = d3.select("body").append("svg").attr("width",300).attr("height",300)var drag = d3.behavior.drag().origin(function(d,i){return {x:d.cx ,y:d.cy}}).on("dragstart",(d)=>{console.log("拖拽开始")}).on("dragend",(d)=>{console.log("拖拽结束")}).on("drag",function(d){d3.select(this).attr("cx",d.cx = d3.event.x).attr("cy",d.cy = d3.event.y)})svg.selectAll("circle").data(circles).enter().append("circle").attr("cx",(d)=>d.cx).attr("cy",(d)=>d.cy).attr("r",(d)=>d.r).attr("fill","black").call(drag)</script>
缩放行为
<script>var circles = [{cx:150, cy:220, r:30},{cx:250, cy:200, r:30}]var svg = d3.select("body").append("svg").attr("width",300).attr("height",300)var zoom = d3.behavior.zoom().scaleExtent([1,10]).on("zoom",function(d){d3.select(this).attr("transform","translate("+d3.event.translate+")"+"scale("+d3.event.scale + ")")})var g = svg.append("g").call(zoom);g.selectAll("circle").data(circles).enter().append("circle").attr("cx",(d)=>d.cx).attr("cy",(d)=>d.cy).attr('r',(d)=>d.r).attr('fill','black')</script>
D3 Handling Events相关推荐
- React中文文档之Handling Events
Handling Events - 事件处理 React元素的事件处理同DOM元素的事件处理非常相似. 有一些语法不同: 1.React事件使用 'camelCase-驼峰式' 命名,而不是 'low ...
- D3 Selections
https://github.com/d3/d3/blob/master/API.md#selections-d3-selection 1.Selecting Elements 方法 描述 d3.se ...
- d3 v5 api select
https://github.com/d3/d3/blob/master/API.md#selections-d3-selection Selecting Elements(选择元素) 描述 英文 d ...
- Faking Touch Events on iOS for Fun and Profit
[http://blog.lazerwalker.com/blog/2013/10/16/faking-touch-events-on-ios-for-fun-and-profit] Faking T ...
- d3js selections深入理解
D3 selections选择DOM元素以便可以对这些dom元素做相应的操作,比如:更改其style,修改其属性,执行data-join操作,或者插入.删除相应elements 比如,如果给定5个ci ...
- android的UI开发工程师指引
不管是MFC,还是linux,还是android,UI开发都是如下两大核心机制: 第一个是消息循环,第二个是界面组织结构. 围绕着这些,衍生出来的OpenGL,SurfaceView,SurfaceF ...
- jQuery.click()与onClick
本文翻译自:jQuery.click() vs onClick I have a huge jQuery application, and I'm using the below two method ...
- login控件authenticate_Login.Authenticate 事件 (System.Web.UI.WebControls) | Microsoft Docs
验证用户的身份后出现.Occurs when a user is authenticated. public: event System::Web::UI::WebControls::Authenti ...
- 用Xlib库进行基本图形编程
用Xlib库进行基本图形编程 用Xlib库进行基本图形编程 目录 1.前言 2.X Window系统的客户服务器模式 3.GUI编程-同步化的编程模型 4.基本的Xlib概念 1.X ...
最新文章
- SpringMVC - 非注解的处理器映射器和适配器
- 串口 驱动 热敏打印机_菜鸟裹裹x 快麦打印机联合发布SC310,实现共享智能打印...
- linux考试基础知识测验
- CCommandLineInfo详解-启动不创建新文档【对单文档有问题?】
- jquery模拟可输入的下拉框
- P4592 [TJOI2018]异或 (可持久化Trie)
- mysql的分片系统_MySQL分片
- 在Kubernetes上使用Prometheus Operator监视应用程序
- 在PyTorch中转换数据
- 关于 RGB 的颜色认知
- 重新配置Domino服务器
- 关于爬取网易云全部评论的一些疑问
- Java面向对象㈡ -- 继承与多态
- 更换微软TTS语音引擎切换
- 直播行业市场分析:2022年构建多元化的直播生态体系
- IDEA本地插件下载及安装
- 计算机 26个英文字母代表数字,数字能量字母对照表-26个英文字母各代表什么数字...
- RRPP和smart link 综合实验
- MySQL单表查询总结
- Moonbeam生态说|Hello! Wormhole
热门文章
- java制作网站的原理_代码生成器原理
- linux未使用磁盘空间满,linux磁盘空间用满的处理方法
- 01:与指定数字相同的数的个数【一维数组】
- 《Python网络程序设计(微课版)》223道习题参考答案
- 广工android嵌入式系统试卷_教育录播系统的选择
- 多元线性回归的缺陷_轻松阅 | 多元线性回归的“参差不齐
- 计算机科技英语论文,计算机科技英语论文.doc
- 操作excel方便么_【Excel好推荐】专业仪表板
- 力扣459. 重复的子字符串(KMP,JavaScript)
- 力扣剑指 Offer 05. 替换空格(JavaScript)