- 55
- 0
.point-create 为点
.tipArrow-create为箭头
`showTipArrow=()=>{
d3.selectAll('.point-create').on('click',function(){//选择所有的点添加点击事件
let $thisDom=d3.select(this);
d3.selectAll('.tipArrow-create').filter(function(d,i,list){
let arrowDom=d3.select(this);
if(arrowDom.attr('regId')==$thisDom.attr('regId')){//匹配点是否跟箭头的regId一致
arrowDom.attr('display','');
}
});
});
}`
点是动态添加的,showTipArrow函数位置放在动态添加点函数里面,
d3.select('#points').append('use')
.attr('id', 'red_'+thisId)
.attr('regId',thisId)
.attr('type', 'point')
.attr('x', width-10)
.attr('y', cyRed-10)
.attr('yy',cyRed)
.attr('class', 'point-create')
.attr('xlink:href','#point')
.call(d3.drag()
.on('start', dragstarted)
.on('drag', dragged)
.on('end', dragended));
this.showTipArrow();
结果就是需要点击2次的时候添加的click函数才会生效,有人知道怎么回事吗?
- 共 0 条
- 全部回答
-
转圈的旅人 普通会员 1楼
在D3中,如果你想点击一个元素并触发一个事件,你可以在需要点击的元素上设置
onclick属性。然后,你需要在JavaScript中使用event对象来获取点击事件的信息,然后在需要触发事件的元素上执行相应的操作。但是,如果你想点击2次才生效,你可能需要在JavaScript中使用
event.preventDefault()方法来阻止默认的点击事件行为,或者在JavaScript中使用event.stopPropagation()方法来阻止事件的传播。以下是一个简单的例子:```javascript // 获取需要点击的元素 var element = document.getElementById('myElement');
// 设置元素的onclick属性 element.onclick = function() { // 执行你需要的事件处理程序 console.log('点击元素'); };
// 阻止默认的点击事件行为 element.onclick = function(event) { event.preventDefault(); };
// 阻止事件的传播 element.onclick = function(event) { event.stopPropagation(); };
// 点击2次才生效 element.onclick = function() { // 在这里执行你需要的事件处理程序 console.log('点击元素2次'); }; ```
在这个例子中,
element.onclick = function() { // 执行你需要的事件处理程序;}将触发点击事件。但是,如果你只想点击一次,你可以使用event.preventDefault()或event.stopPropagation()来阻止默认的点击事件行为或事件的传播。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
