jjzjj

javascript - 用 Raphael.js 听右键单击 svg 元素

当用户右键单击使用Rapahel.js创建的元素时,我需要做出响应。我读到你应该只附加一个点击事件处理程序,然后决定用户点击了哪个鼠标按钮。我无法让它工作。window.onload=function(){varr=Raphael('demo',640,480);r.rect(10,10,400,400).attr({fill:'red'}).click(function(){alert('test');});;};警告框仅在单击鼠标左键时显示。关于如何在单击右键时显示​​警告框有什么建议吗?我见过jQuery的这个小技巧:$(r.rect(10,10,400,400).attr({f

javascript - 使用 Raphael JS 将所​​有 SVG 文本节点转换为路径节点

我正在尝试写一个RaphaelJS将采用Raphaelpaper中现有文本节点的函数实例并将它们转换为路径。目标是完全复制文本在页面上显示的位置、大小和属性,但使用路径而不是文本呈现文本。我最初无法使用Raphaelpaper.print()渲染文本功能,因为文本是动态更新的,并且需要基于“文本”的属性才能这样做。将现有文本节点转换为路径将作为过程中的“最后”步骤发生(在文本修改完成后)。我这样做是为了消除安装字体以便稍后查看或处理SVG的需要。我面临的挑战是:文本节点可能包含带有x和dy定义的tspan。创建的路径必须与每个子节点字母(tspan)完美对齐。检索文本节点的实际位置数据

javascript - 拉斐尔秩序对象

我正在尝试订购拉斐尔对象。我无法决定何时创建对象,但我想让一组对象在创建后出现在一组其他对象的后面。谁能帮我做这个?谢谢。 最佳答案 将您的元素分成两部分sets并使用insertBefore将这些集合相对定位或insertAfter:varfront=paper.set();front.push(front1,front2);varback=paper.set();back.push(back1,back2);front.insertBefore(back);此外,如果您的项目在数组中,您可以使用apply以方便使用:varfro

javascript - backbone.js & raphäel.js/Backbone View <-> Raphäel 对象

而现在,为了一些完全不同的东西。当“dom”对象是拉斐尔对象。那行得通吗?像这样:varNodeView=Backbone.View.extend({events:{"click":"click"},click:function(){alert('clicked')},render:function(){canvas.rect(this.model.get('xPos'),this.model.get('yPos'),50,50).attr({fill:"#EEEEEE",stroke:"none",cursor:"move"});returnthis;}});我需要在raphäel对

javascript - 无法加载 Raphael.js 库,找不到 appendChild 方法?

我正在尝试将raphael.js(已下载并在本地运行)加载到HTML文件中,但脚本拒绝退出,在我的JS控制台中出现以下错误:UncaughtTypeError:Cannotcallmethod'appendChild'ofnullbVonraphael.js:7aonraphael.js:7(anonymousfunction)onraphael.html:22这是缩小版的,同样的错误出现在第1789行的非缩小版我从网站上下载了代码,尝试了压缩和未压缩,还下载了其中一个演示中链接的JS文件,所有这些都在我的浏览器(chrome)中运行良好。有什么想法吗? 最

javascript - 在 JavaScript 中对 SVG 形状的鼠标右键单击检测不起作用

我的脚本需要一些帮助,我想在其中检测人民币点击。信息:最后我想在一个专用的SVG形状上显示我自己的右键单击菜单,它是使用Raphaeljslib显示的,我发现网上有很多不同的例子,甚至是非常简单的实现,比如使用jQuery-但我必须能够检测到人民币是否被点击或任何其他。我已经尝试(在RMB上没有成功)以下代码和平:window.onload=function(){varpaper=newRaphael(document.getElementById('canvas_container'),300,300);varshape=paper.path('m150,150l40,0l0,20l

javascript - 如何为拉斐尔元素添加和移除辉光?

我正在尝试为raphael元素设置悬停,以便当鼠标在元素上时,它会发光,而当鼠标离开时,发光会消失。我已经想出如何添加光晕,但我无法移除它。这是我的脚本的样子:$(document).ready(function(){varpaper=Raphael(0,0,360,360);varmyCircle=paper.circle(180,180,30).attr('stroke','#FFF');myCircle.hover(function(){myCircle.glow().attr('stroke','#FFF');},function(){//removingtheglowfrom

javascript - 用于查找路径交叉点的 RaphaelJS 库

我想使用RaphaëlJS绘制圆的交点形状.那里已经有图书馆可以做到这一点了吗?一个更通用的SVG路径库可能也可以工作,但我的googlefoo使我失望。我想画这样的形状: 最佳答案 SVGCompositing规范描述了合成操作(comp-op属性),但目前没有任何浏览器支持它们。这是一个example您可以尝试,但在撰写本文时,它在Chrome或Firefox中不起作用。Clipping在某些情况下可以工作,但不允许产生淘汰效果。另一方面,canvascompositing完全支持操作,因此您可以尝试在游戏中使用Canvas。

javascript - Raphael JS 高效实现 "Pencil"工具

我正在做一个项目,要求最终用户能够在浏览器中绘图,就像svg-edit并将SVG数据发送给服务器进行处理。我开始玩Raphael框架,看起来很有希望。目前我正在尝试实现铅笔或自由线类型的工具。基本上我只是根据绘图区域中鼠标移动的百分比绘制一条新路径。然而,最终这将创建大量的路径来处理。IsitpossibletoshortenanSVGpathbyconvertingmousemovementtouseCurveandLinepathsinsteadoflinesegments?下面是我为完成这项工作而草拟的代码草稿......//DrawingareasizeconstvarSVG_

javascript - 使用 raphaeljs javascript 图形库清除容器的最简单方法

我必须清除并重绘raphaeljavascript主容器。我试过varpaper=Raphael(10,50,320,200);paper.remove();//Doesn'tworkpaper.node.removeNode();//thisneitherpaper.removeNode();//thisneither有什么想法吗? 最佳答案 当您创建一篇论文时,它会创建一个DOM对象。你可以访问它paper.canvas当您创建一个新的Raphael对象时,您就创建了一个新的DOM对象并保留了原来的对象!考虑到所有事情,这是最好