草庐IT

javascript - 右键单击 d3.js 元素 : how to prevent browser context menu to appear

我绘制了一些d3.js元素,例如://drawrectanglesvg.selectAll(".rect").append("rect").attr("y",10).attr("x",10).attr("height",5).attr("width",5).on("contextmenu",function(d,i){//reactonright-clicking});它工作正常,但也会打开浏览器的上下文菜单。我该如何防止这种情况发生? 最佳答案 将d3.event.preventDefault();添加到您的函数中。//drawr

javascript - 使文本适合 SVG 元素(使用 D3/JS)

我想在我创建的矩形内写入文本,如下所示:body=d3.select('body')svg=body.append('svg').attr('height',600).attr('width',200)rect=svg.append('rect').transition().duration(500).attr('width',150).attr('height',100).attr('x',40).attr('y',100).style('fill','white').attr('stroke','black')text=svg.append('text').text('Thisis

javascript - jQuery attr() 无法设置属性

我正在尝试通过svg的transform旋转图像。这是我的代码:这会在页面加载时成功地将logo.png旋转90度。此外,当我在firbug的HTML选项卡中将90更改为不同的数字时,旋转也会相应地发生变化。但是当我尝试使用jQuery更改值时,没有任何反应:$('#trns').attr('transform','rotate(60,50,50)');firebug做了哪些我的attr行没有做的事情? 最佳答案 在这里工作正常(使用jQuery1.6.2):http://jsfiddle.net/niklasvh/k3Grd/确保

javascript - $(this).attr ("id") 不工作

正如标题所说,当我尝试获取元素的id属性时,我总是得到“undefined”,基本上我想做的是在值为“other”时用输入框替换元素。代码如下:functionshowHideOther(obj){varsel=obj.options[obj.selectedIndex].value;varID=$(this).attr("id");alert(ID);if(sel=='other'){$(this).html("");}else{$(this).css({'display':'none'});}}HTML:Race:SelectoneonetwothreeOther这可能是我没有注意

javascript - 用渐变颜色绘制一个 D3 圆

如何画一个渐变色的圆?比如,从黄色到蓝色的渐变。通常,要创建一个黄色的圆圈,我们可以使用以下代码:varcdata=[50,40];varxscale=40;varxspace=50;varyscale=70;varsvg=d3.select("body").append("svg").attr("width",1600).attr("height",1600);varcircle=svg.selectAll("circle").data(cdata).enter().append("circle");varcircleattr=circle.attr("cx",function(d)

javascript - 如何正确转义 css/js 属性选择器 [attr=value] 中的属性值?

我应该如何转义css/js属性选择器[attr=value]中的属性?具体来说,这是正确的吗?document.querySelector('input[name="test[33]"]')我正在寻找执行此操作的“标准方法”(如果有的话),因为我不希望Sizzle使用繁重的执行后备函数 最佳答案 是的,这是一种正确的方法。SelectorsLevel3specification陈述如下:AttributevaluesmustbeCSSidentifiersorstrings.您问题中的示例使用字符串作为属性值。“标识符”定义如下:I

javascript - 用图案填充矩形

我正在为图形使用d3.js。在某些时候,我必须用图形的某些特殊部分显示数据,例如,如果值跨越某个边界,则用填充模式显示该部分。更清楚的是有图像。我得到了跨越边界的矩形部分,但我如何用这种模式填充它?任何css或canvas技巧?注意:此图仅供引用,并非真实 最佳答案 这个怎么样:LiveDemoJSvarsvg=d3.select("body").append("svg");svg.append('defs').append('pattern').attr('id','diagonalHatch').attr('patternUni

javascript - 如何在 raphaeljs 中使用 attr 的 stroke-dasharray,stroke-linecap,stroke-linejoin

谁能给我一个这些属性的例子:stroke-dasharray、stroke-linecap、stroke-linejoin我试过使用它们,但我不太理解它们值的sentext结构。 最佳答案 Phrogz的回答非常适合纯SVG,但这个问题也被标记为Raphael,两者相似但略有不同。拉斐尔笔画设置的好例子不多,所以这里有一个完整的现场演示。它有示例记录如何使用stroke-dasharray(点线和虚线)、stroke-linejoin(笔划Angular样式)和stroke-linecap(路径笔划帽样式)在Raphael.js中。

javascript - 在 d3 中使用箭头函数

这可能吗?我不确定,因为d3大量使用this重新绑定(bind),这似乎与ES6spec冲突.例如,以下工作正常://Workingfinevardata=[1,2,3]varsvg=d3.select('body').append('svg').attr('height',500).attr('width',500).style('background-color','orange');vargs=svg.selectAll('g').data(data).enter();gs.append('circle').attr('cx',function(){returnMath.rand

javascript - 在 D3 中包装文本

我想让文本在下面的D3树上换行,而不是Fooisnotalongword每行换行到Fooisnotalongword我尝试将文本设为“foreignObject”而不是文本对象,并且文本确实换行,但它不会在树动画上移动并且全部分组在左上角。代码位于http://jsfiddle.net/mikeyai/X43X5/1/Javascript:varwidth=960,height=500;vartree=d3.layout.tree().size([width-20,height-20]);varroot={},nodes=tree(root);root.parent=root;root