我使用two.js绘制了一个形状,我想编写代码来处理该形状上的点击事件。不是画布,而是形状本身。
front_left.domElement = $('#two-' + front_left.id)
.css('cursor', 'pointer')
.click(function(e){
alert("Hello World!");
});
这段代码taken from an answer看起来应该可行:
circle.domElement = $('#two-' + circle.id)
.css('cursor', 'pointer')
.click(function(e) {
circle.fill = getNonMainRandomColor(getRandomColor());
});
但它对我来说不适用于使用最新的JQuery和最新的two.js,它似乎也不适用于the example,因为代码读起来好像点击圈子一样使颜色发生变化,但我尝试过的任何浏览器或计算机都没有发生任何变化。
那么,我如何捕获和响应用two.js绘制的形状/组的点击事件?
答案 0 :(得分:2)
感谢您留言。这个答案不再起作用的原因是因为自那以后two.js发生了变化。我添加了example here。它的要点是:
svg
渲染器_renderer
elem
,它是相应的dom元素e.g:
var shape = two.makeCircle(two.width / 2, two.height / 2, 50);
two.update();
shape._renderer.elem.addEventListener('click', handler, false);
而且,如果您喜欢冒险,可以混合使用this example中的渲染器。