如何在d3事件绑定时访问原始事件对象
How to access original event object when d3 event binding
在d3中,我已将节点上的mousedown事件绑定到我要执行的函数:
let node = gA.svg.selectAll('.node').data(gA.force.nodes(), gA.node_id)
let node_group = node.enter().append('g')
.classed('node', true)
.call(gA.drag)
node_group.append('circle')
.classed('node-circle', true)
// we may consider adding the position too. it will get updated on the
// next tick anyway, so we will only add it here if things look glitchy
.attr('r', gA.node_radius)
.on(gA.circle_events)
.on('mousedown', mousedown)
.on('mouseup', mouseup)
只有最后一行才是真正相关的。还有我使用d3的事实。
但现在当我定义mouseup函数时。。。
function mouseup(datum, something1, something2) {
alert("But where is the Event object? :( :'( ")
}
基准面是绑定到svg"圆"的基准面。something1似乎是鼠标相对于元素的x位置(我的最佳猜测)。2看起来是y的位置。
但是我如何访问活动?我需要访问Event.clientX.
这是有据可查的:
d3.事件
存储当前事件(如果有)。在使用on运算符进行事件侦听器回调期间,会注册此全局。在finally块中通知侦听器后,将重置当前事件。这允许侦听器函数具有与其他运算符函数相同的形式,传递当前数据d和索引i。
相关文章:
- 访问代码生成的输入元素上的keyup事件
- 从其他元素上的单击事件访问image src属性
- 如何在事件函数中访问窗口实例
- Meteor - 从另一个模板事件处理程序访问 DOM 元素
- 存在其他参数时访问Javascript事件
- 如何访问加载前触发的JavaScript href事件
- 无法使用JavaScript从iTextSharp访问PDF文档页面/事件
- .load() 事件在 SVG 完成加载后未被调用/无法访问其内容
- 将我的nextPage()函数编写为全局函数,以便onclick事件可以访问它
- 使函数特定于Meteor模板,并可由其事件处理程序访问
- 如何从谷歌地图事件访问光标位置(即页面的x和y轴)
- 访问新创建的Facebook事件返回false
- 从ng重复奇数内部的ng点击访问事件对象
- 如何访问Bokeh's数据并从外部触发前端上的事件
- 在JavaScript NOT JQuery中的按钮上触发点击事件后访问childNode或同级属性
- 从原型中的事件访问“this”
- 如何通过 Ember.TextField 中的 insertNewline 事件访问 Ember.Checkbox ch
- firefox插件错误中的关键事件:访问属性'的权限被拒绝;键入'
- 如何从事件访问jquery函数属性
- 从HTML onclick事件访问PHP方法