gpt4 book ai didi

javascript - .onmousedown 在页面加载时执行

转载 作者:行者123 更新时间:2023-11-30 08:43:32 26 4
gpt4 key购买 nike

我试图在单击不同的多边形时显示不同的图形。但是该函数在页面加载时执行,即使我将其定义为 .onmousedown。这是函数

function iscrtaj(data, arg) {
alert(arg);
var barwidth = 13;
var w = 700;
var h = (barwidth + 10) * data.length;

var xscale = d3.scale.linear()
.domain([0, d3.max(data, function (d) {
return d.bodovi;
})])
.rangeRound([0, 280]);

var yscale = d3.scale.linear()
.domain([-1, data.length])
.range([0, h]);

var bargraph = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);

svg.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("x", 870)
.attr("y", function (d, i) {
return yscale(i);
})
.attr("height", barwidth)
.attr("width", width).transition().duration(1000)
.attr("width", function (d) {
return xscale(d.bodovi);
})
.attr("fill", "blue");

svg.selectAll("text")
.data(data)
.enter()
.append("text")
.attr("x", function (d) {
return xscale(d.bodovi) + 910;
})
.attr("y", function (d, i) {
return yscale(i);
})
.attr("dx", barwidth / 2)
.attr("dy", "0.8em")
.attr("text-anchor", "end")
.attr("style", "font-weight: bold; font-size: 11; font-family: Helvetica, sans-serif")
.text(function (d) {
return d.bodovi + " %";
})
.style("fill", "black");

svg.selectAll("text.xaxis")
.data(data)
.enter()
.append("text")
.attr("x", 830)
.attr("y", function (d, i) {
return yscale(i) + barwidth - 2;
})
.attr("dx", -barwidth / 2)
.attr("text-anchor", "end")
.attr("style", "font-size: 12; font-family: Helvetica, sans-serif")
.text(function (d) {
return d.stranka;
})
.attr("transform", "translate(20, 0)")
.attr("class", "xaxis")
.attr("fill", "black");
}

以及 JSFiddle 上的其余代码。 (此处的弹出窗口只是为了确保函数采用正确的参数。) http://jsfiddle.net/Y27NG/

最佳答案

.on("mousedown",iscrtaj(data1, 5))

如果函数将绑定(bind)到事件,则立即调用函数和结果/返回

.on("mousedown",function(){iscrtaj(data1, 5);})

使用这样的匿名函数可能会解决您的问题,data 的范围和生命周期可能会对此产生影响。

关于javascript - .onmousedown 在页面加载时执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23989589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com