gpt4 book ai didi

javascript - 拉斐尔 Canvas (背景)onclick事件

转载 作者:行者123 更新时间:2023-12-03 21:54:02 30 4
gpt4 key购买 nike

我一直在与 Raphael 合作在 Canvas 上创建拖放形状。我使用 .drag() 函数(Raphael 框架中提供)以及我的事件函数来执行此操作。我这样做没有任何问题。

我还有一个创建新形状的函数onDblClick,问题是,我只能将事件附加到形状或我创建的其他元素。

向形状添加事件的方式如下:

  R = Raphael("canvas", "100%", "100%"),
R.rect(100, 100, 25, 50).attr({fill: fillColor}).dblclick(myDblClick);

在 Canvas 上使用相同的原理不起作用:

  R = Raphael("canvas", "100%", "100%"),
R.dblclick(myDblClick);

有谁知道如何将点击事件附加到 Canvas 上,即我可以点击 div 中的任何位置(不包括形状),并且该事件将被触发。

最佳答案

由于接受的答案对我不起作用(尽管它确实让我走上了正轨),我想我会发布我如何解决它,以防有其他人处于我的位置......

//Create paper element from canvas DIV
var canvas = $("#Canvas");
paper = Raphael("Canvas", canvas.width(), canvas.height());

//Register Event
$("#Canvas").click(CanvasClick);

//Event Handler
function CanvasClick(e) {
if (e.target.nodeName == "svg")
{
//This will only occur if the actual canvas area is clicked, not any other drawn elements
}
}

关于javascript - 拉斐尔 Canvas (背景)onclick事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4157590/

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