识别图像在Raphael点击

时间:2017-06-14 17:31:58

标签: javascript image canvas raphael

我有一个画布,使用raphael我会画一些图像。 图像的名称位于列表中:images_list我将为行绘制三个图像。所有图像具有相同的尺寸,等间距并且是.png文件(无向量)。 一些示例代码:

var paper_images_list = Raphael(canvas_images_list, '100%', '100%');
var images_for_row=3
var y_max=Math.ceil(image_list.length/images_for_row)*40
paper_images_list.setSize(div_width, y_max);
for (var i=0; i<image_list.length; i++) {
        var col=parseInt(i/images_for_row)
        var y=col*40
        var x=(i-images_for_row*col)*40
        var image = paper_images_list.image('/media/images/'+image_list[i], x, y, 33, 27);
    };

我想要的是:点击我想知道哪个图像的图像,用于另一张纸/画布。

我使用拉斐尔,因为我认为它可以轻松实现,但也许我错了。是否可以识别图像只是点击它?

如果没有,我可以找到点击的坐标并计算出哪个图像,但我不需要Raphael,对吧?有更好的解决方案吗?

我使用的是Phyton3.5,Django 1.9,Javascript / JQuery,Windows7

1 个答案:

答案 0 :(得分:0)

感谢伊恩,我发现它很简单:

document.getElementById('canvas_images_list').onclick=function(event) {
    var myimage = event.target
    if (myimage.tagName == 'image') {
        myimage = myimage.href.baseVal;
    };
};

if语句排除了任何图片外的点击次数