Javascript 检测KineticJS中点击舞台但不点击形状
在KineticJS中,如果单击发生在对象/形状之外,如何检测Javascript 检测KineticJS中点击舞台但不点击形状,javascript,jquery,html,canvas,kineticjs,Javascript,Jquery,Html,Canvas,Kineticjs,在KineticJS中,如果单击发生在对象/形状之外,如何检测单击事件 我试图获得一个Rect,当用户单击它时,它的刻度将更改为2,当用户单击它之外的任何地方时,它将返回到1的刻度 JSfiddle: 设法检测到点击阶段,但点击Rect也会触发点击处理程序!!!不知何故,.setScale(1)什么也不做,而console.log打印出一些东西。在Rect而不是空阶段上进行单击时,如何防止单击处理程序触发 JS代码检测点击阶段 window.stage.getContainer().addEve
单击事件
我试图获得一个Rect
,当用户单击它时,它的刻度将更改为2
,当用户单击它之外的任何地方时,它将返回到1
的刻度
JSfiddle:
设法检测到点击阶段,但点击Rect
也会触发点击处理程序!!!不知何故,.setScale(1)
什么也不做,而console.log
打印出一些东西。在Rect
而不是空阶段上进行单击时,如何防止单击处理程序触发
JS代码检测点击阶段
window.stage.getContainer().addEventListener('click', function(e) {
$.each(window.layer.get('.box'), function(index, box) {
box.setScale(1);
console.log('clicked on stage');
});
});
您可以使用stage.getContent()访问stage内容包装器。在此基础上,您可以添加如下事件处理程序:
stage.getContent().addEventListener('click',…);//常规javascript
或
$(stage.getContent())。在('单击',…);//jquery你知道我还在学习动能,但这里有一个JS指针。你不需要把窗口放在事物之前,让它们全球化。如果将var放在变量declaration之前,那么它将仅在创建它的作用域/函数中可用。不将var放在变量Declaration之前将使其成为全局变量(与将window。你看到这个帖子了吗?。。他把一个矩形作为第一层,然后你可以检查。另外,使用正常事件是一个好主意吗?谢谢!!实际上,我用likevar-App={}给它们命名;App.stage=…
还没有看到那篇文章,听起来像gd ideaAwesome,你已经搞定了。从KineticJS 4.3.1开始,getDOM()被重命名为getContent()Hi,这可以在层上完成,而不必设置背景矩形并绑定点击事件吗?