CreateJS鼠标点击不起作用的原因是什么?
编辑澄清:
Animate-CC / CreatJS Canvas鼠标互动工作的{strong> 潜在 原因可能是什么here(按视频播放按钮 )但不是here(按“播放”按钮)?
某些类型的“阻止”,阻止Canvas获取点击?
澄清更多:
请打开控制台,您将看到第一个站点记录画布和阶段点击,而第二个站点仅记录画布点击。
这是我的代码:
this.stage.addEventListener("click", function(){console.log("stage is clicked")});
this.stage.canvas.addEventListener("click", function(){console.log("canvas is clicked")});
我的代码已加载到上述两个页面中,但第二页执行的操作使得舞台无法点击。
有什么想法吗?
提前致谢!
更新1:
请注意上面的工作示例是将我的广告素材(ID“iRoll”)包装在iFrame中,而不是非工作示例。这可能会影响CreateJS框架解释DOM鼠标交互的方式。
另外,我在上面的例子中添加了这段代码:
that.mcBTN.addEventListener("rollover", function (e) {
that.mcBTN.gotoAndStop(1);
});
that.mcBTN.addEventListener("rollout", function (e) {
that.mcBTN.gotoAndStop(0);
});
that.mcBTN是黑盒子,我在第1帧上有“(滚动)”文字。
这是更改点击时彩色框的代码:
that.first = true;
that.mcBTN.addEventListener("click", function (e) {
that.mcChanger.gotoAndStop(that.first);
that.first = !that.first;
});
如果你在黑匣子里面和它外面交替点击,你可以看到一些事情在坐标系统方面被正确注册 - (“滚动”文本显示应该如此),但仍然是点击功能并且翻转功能本身在某种程度上不起作用(即,彩色框不会改变颜色,并且“滚动”文本不会基于翻转交互而出现。
答案 0 :(得分:0)
根据你最新的代码示例,我猜第二个(画布上的监听器)有效,但舞台上的那个没有。重要的是要知道一个阶段"点击"事件仅在鼠标下有内容时触发。如果你想要"点击任何地方"事件,然后使用" stagemouseup"
http://createjs.com/docs/easeljs/classes/Stage.html#event_stagemouseup
如果您确实有鼠标下的内容,并且单击时没有控制台日志,您可以尝试查看舞台比例。正如我在评论中提到的那样,Adobe添加了一些响应代码来扩展内容以适应,但阶段缩放却出了名的小问题。
您是否有机会发布示例或更多代码?