Javascript 矩形上的Raphael JS单击重定向到url将获取所有矩形的最后一个url
我试图遍历列表并创建矩形框,每个用户的点击都应该被重定向到特定页面,尽管我很难理解点击处理程序。请帮助我完善下面的代码,以便它重定向到相应的url,而不是最后一个。(我认为这是我对JS本身缺乏了解。)Javascript 矩形上的Raphael JS单击重定向到url将获取所有矩形的最后一个url,javascript,jquery,onclick,raphael,rectangles,Javascript,Jquery,Onclick,Raphael,Rectangles,我试图遍历列表并创建矩形框,每个用户的点击都应该被重定向到特定页面,尽管我很难理解点击处理程序。请帮助我完善下面的代码,以便它重定向到相应的url,而不是最后一个。(我认为这是我对JS本身缺乏了解。) var items=[{'url':'http://google.com'},{'url':'http://stackoverflow.com'}]; var bh=120; var-bw=120; var br=8; var start_x=100; var start_y=80; r=Raph
var items=[{'url':'http://google.com'},{'url':'http://stackoverflow.com'}];
var bh=120;
var-bw=120;
var br=8;
var start_x=100;
var start_y=80;
r=Raphael(“持有者”,840780)
对于(变量i=0;i
上面的代码是我正在处理的版本,它在SVG上呈现多个矩形,我遇到的问题是单击矩形,它只返回最后一个
谢谢。问题是有一个变量名为
i
,循环结束后,它的值是items.length
。您需要记住每个节点的正确值。试试这个:
for (var i = 0; i < items.length; i++){
...
var rect = r.rect(start_x, start_y, bh, bw, br);
rect.node.setAttribute('data-index', i);
group.push(rect);
...
rect.node.onclick = function(event) {
alert(items[event.target.getAttribute('data-index')].url);
};
}
for(变量i=0;i
for (var i = 0; i < items.length; i++){
...
var rect = r.rect(start_x, start_y, bh, bw, br);
rect.node.setAttribute('data-index', i);
group.push(rect);
...
rect.node.onclick = function(event) {
alert(items[event.target.getAttribute('data-index')].url);
};
}