我如何在D3中使用下拉按钮触发鼠标悬停事件?
How can I trigger a mouseover event using a dropdown in D3?
我正在使用D3.js构建折线图,我希望用户能够使用下拉菜单来突出显示其邮政编码的值。当用户将鼠标悬停在一行上时,我已经用鼠标悬停事件来实现了这一点。
我已经尝试设置鼠标悬停和鼠标出事件来调用"onmouseover"函数,如下所示:
series.selectAll(".hover")
.on("mouseover", function(d,i) {
d3.selectAll(".line")
.style("opacity", 0.82)
.filter(function(p) { return p.zipcode == d.zipcode; })
.style("opacity", 1)
.style("stroke-width", 2)
.style("stroke", function(d,i) { return color2(i); });
d3.selectAll(".series text")
.style("opacity", 0)
.filter(function(p) { return p.zipcode == d.zipcode; })
.style("opacity", 1)
.on("mouseover", onmouseover)
.on("mouseout", onmouseout);
我也有我的"onmouseover"功能,是由下拉菜单激活:
function onmouseover(d,i){
d3.selectAll(".line")
.style("opacity", 0.82)
.filter(function(p) { return p.name == d.name; })
.style("opacity", 1)
.style("stroke-width", 2)
.style("stroke", function(d,i) { return color2(i); })
d3.selectAll(".series text")
.style("opacity", 0)
.filter(function(p) { return p.name == d.name; })
.style("opacity", 1);}})
当使用下拉菜单时,我尝试激活它:
$("#dropdownselect").change(ziphandler)
function ziphandler(){
var key = $(this)
.children(":selected")
.val();
onmouseover({id : key});
}
理想的结果是,用户可以将鼠标悬停在一行上查看新样式,并通过在下拉菜单中选择邮政编码来突出显示该行。
编辑:代码在这里看到的行动:http://bl.ocks.org/cminshew/31581ca3e55fbf67862a
你的代码有几个问题:
- 你没有包含JQuery
- 下拉选择器的ID是
zipselected
,而不是dropdownselect
。 -
ziphandler
和onmouseover
函数在不同的作用域中声明。特别是,你不能从ziphandler
调用onmouseover
。 - 在你的
onmouseover
函数中,你引用了一个不存在的.name
属性。
我想你应该调用$(this).onmouseover({id : key});
相关文章:
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 鼠标悬停时更改按钮的 CSS
- 如何知道鼠标按钮的当前状态(mouseup状态或mousedown状态)
- 如何使用Javascript检查当前鼠标按钮状态
- 如何在按住鼠标按钮且光标在视口外时检测鼠标离开
- 在 JavaScript 中将鼠标悬停时棘手的按钮移开
- 尝试使用jquery设置鼠标按下的时间来更改按钮触发器以控制音量滑块
- jQuery UI可排序,释放鼠标按钮事件
- 有可能得到鼠标按钮4、5等吗
- 当用户将鼠标指针放在窗体按钮上时,该按钮必须更改颜色
- 将鼠标悬停在按钮上会导致另一个按钮悬停在上面
- 如何在鼠标悬停按钮上显示或隐藏面板
- Javascript事件-同时按住CTRL键和鼠标悬停在按钮上
- 如何使用onmouseover和onmouseout在鼠标经过按钮时隐藏和取消隐藏按钮
- p5js 按钮.鼠标按下调用函数 + 参数
- Javascript单选按钮鼠标悬停在移动图像上,使用math.random
- Javascript按钮鼠标输入
- 链接或按钮鼠标悬停弹出框/图像位置更改
- 需要使用 html5 画布在按钮鼠标向上事件上淡出
- 当使用按钮/鼠标滚轮滚动时做一些事情