Javascript rapheal js Element.node.onclick()和Element.click()
您好,我刚刚开始使用拉斐尔,但是我对下面的代码感到非常困惑 为什么此代码有效Javascript rapheal js Element.node.onclick()和Element.click(),javascript,jquery,raphael,Javascript,Jquery,Raphael,您好,我刚刚开始使用拉斐尔,但是我对下面的代码感到非常困惑 为什么此代码有效 var paper = Raphael("canvas_container", 320, 200); var mycir = paper.circle(50, 40, 30); mycir.node.onclick = function() { alert("any thing") } 和这并不重要 var paper =
var paper = Raphael("canvas_container", 320, 200);
var mycir = paper.circle(50, 40, 30);
mycir.node.onclick = function() { alert("any thing") }
和这并不重要
var paper = Raphael("canvas_container", 320, 200);
var mycir = paper.circle(50, 40, 30);
mycir.click = function() { alert("any thing") }
我也试过了,但没有成功:
mycir.click(function(){alert("any thing")});
有什么区别?当我查看拉斐尔文档时,他们使用
元素。单击()。为什么我不能使用它们,这是我的版本还是什么?问题是您试图分配给click,而不是调用它。
这应该起作用:
var paper = Raphael("canvas_container", 320, 200);
var mycir = paper.circle(50, 40, 30);
mycir.click(function() { alert("any thing") });
请注意,Raphael建议不要使用.node
(因为它说:“不要弄乱它。”)谢谢您的回复。。。但我提到我试过这个,但它不起作用。我实际上在JSFIDLE中试过,它起作用了,但我没有保存它!:(你需要点击圆的线条才能工作,单像素线条不容易,你是否尝试过增加笔划宽度以使其更明显?我只是注意到一些奇怪的事情……如果你在圆()中添加attr())它工作得很好???这让你对像素问题的评论准确地解释了发生了什么,设置更大笔划宽度或填充的属性消除了单击非常薄的边缘的困难,我认为这就是为什么你没有看到它工作的原因。但即使没有属性,如果你设法单击正确的像素,它也应该工作(使用浏览器放大也会有帮助,SVG很好)请将此添加到您的答案中…谢谢