小编yon*_*nan的帖子

d3如何在文本后面的对象上触发事件

我画了一个recttextsvg.

为了展示text,我rect先渲染.

我添加mouse click eventrect

当我单击文本时,似乎没有选择rect,因为rect在文本后面,因此文本被选中.

当鼠标点击内部时,我需要选择触发事件rect.

我应该怎么做?

谢谢!

小提琴

您可以看到,当您单击文本时,不会单击rect.

var data = ["TEXT SAMPLE TEXT SAMPLE TEXT SAMPLE"];

var svg = d3.select("svg");
var bar = svg.selectAll("g")
    .data(data)
  .enter().append("g")
    .attr("transform", function(d, i) { return "translate(100,100)"; });

bar.append("rect")
    .attr("width", 200)
    .attr("height", 50)
    .style("fill", "#f00")
    .on("click", function (d) {
                            alert("text");
                    });
bar.append("text")
    .attr("x", 10)
    .attr("y", 25)
    .attr("dy", "-.35em")
    .text(function(d) { return d; });
Run Code Online (Sandbox Code Playgroud)

javascript svg mouseevent d3.js

6
推荐指数
1
解决办法
1355
查看次数

Three.js是否支持OES_texture_float?

我想渲染浮动纹理的位置或深度.我用

vsnTexture = new THREE.WebGLRenderTarget(window.innerWidth, window.innerHeight,
            { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, format: THREE.RGBAFormat ,type:THREE.FloatType }); 
Run Code Online (Sandbox Code Playgroud)

作为渲染目标.

然后,我测试了

var gl = this.renderer.getContext();
    if( !gl.getExtension( "OES_texture_float" ) ){
        console.error( "No OES_texture_float support for float textures!" );
    } 
Run Code Online (Sandbox Code Playgroud)

并没有发现任何错误.Chrome支持OES_texture_float,我进入THREE.js:

_gl.texImage2D( _gl.TEXTURE_2D, 0, glFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null );
 //console.log(glType);
Run Code Online (Sandbox Code Playgroud)

当我设置WebGLRenderTarget时,我发现glType = 5126(gl.FLOAT):type:THREE.FloatType.这意味着我可以使用OES_texture_float.我有什么不对吗?因为我设置的类型:THREE.FloatType或使用默认值(THREE.UnsignedByteType),我都得到相同的渲染纹理.我没有OES_texture_float正确使用?

floating-point textures three.js webgl-extensions

5
推荐指数
1
解决办法
3224
查看次数

正则表达式从Windows的文件名中删除特殊字符

来自http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx,我们知道Windows保留了一些字符:

< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)
Run Code Online (Sandbox Code Playgroud)

我有一个包含那些特殊字符的文件名,我想替换那些带有""的东西,这样的东西(string.replace(/\<>/g,'')
谢谢

javascript regex

5
推荐指数
1
解决办法
2671
查看次数