Javascript 将OnClick事件添加到条形图
这是我所有的代码,单击“”部分的Javascript 将OnClick事件添加到条形图,javascript,d3.js,Javascript,D3.js,这是我所有的代码,单击“”部分的”有点问题,我想不出来。 它会出错并显示“未定义钻取” 这不是我们在D3部分中绘制的条形图之一的点击事件上调用方法的方式吗 $( document ).ready(function() { gon.data.pop(); // get rid of query_time element. var dataset = gon.data; function drill(d, i) { console.log(d.total_
”有点问题,我想不出来。
它会出错并显示“未定义钻取”
这不是我们在D3部分中绘制的条形图之一的点击事件上调用方法的方式吗
$( document ).ready(function() {
gon.data.pop(); // get rid of query_time element.
var dataset = gon.data;
function drill(d, i) {
console.log(d.total_count); //data object
var url = "http://localhost:4567/drill/" + d.brand_name + "/" + d.generic_name;
window.location.href = url;
}
d3.select("body").selectAll("div")
.data(dataset)
.enter()
.append("div")
.attr("class", "bar")
.attr("onclick", "drill()")
.style("height", function(d) {
return d.brand_name + "px";
});
});
要将事件侦听器添加到选择中,应使用选择的方法
你可以写
d3.select("body").selectAll("div")
.data(dataset)
.enter()
.append("div")
.attr("class", "bar")
.on("click", drill)
.style("height", function(d) {
return d.brand_name + "px";
});
将drill
函数的声明移动到文档就绪处理程序的外部
更好的方法是使用d3提供的on
方法,而不是onclick
属性 您也可以使用jQuery.click(),如果您愿意,下面是一个示例
$("#test").click(function(){
sayHello();
});
请点击此处:
谢谢你的建议。现在将尝试。已修复:)我在控制台中获取此消息有什么原因吗?图表现在画得很好,但在控制台中总是会出现这样的错误:“uncaughtreferenceerror:$isnotdefinedmyfile.js:1(匿名函数)”您应该在一个新问题中问这个问题。似乎jQuery不可用时出现问题。谢谢,已修复:)我在控制台中获取此信息有什么原因吗?图表现在画得很好,但总是在控制台中出现此错误:“uncaughtreferenceerror:$未定义myfile.js:1(匿名函数)”您的
jquery引用是否放在myfile.js引用之前?已修复:)我在控制台中出现此错误有什么原因吗?图表现在画得很好,但在控制台中总是会出现这样的错误:“uncaughtreferenceerror:$未定义myfile.js:1(匿名函数)”请确保在html文件的