如何防止鼠标和触摸事件触发背景下的 DisplayObjects

How do i prevent mouse and touch events from trigger for DisplayObjects below a backdrop

我在 createjs 和使用 easeljs 的事件中有几个显示对象,我想防止鼠标和触摸事件通过它们。

我想要一个像 .mouseEnabled 或 .mouseChildren 这样简单的衬里,那里有什么东西会阻止下面的对象进行任何其他交互。我可以尝试将所有事件添加到背景动画片段中,该动画片段为背景色着色并防止默认和停止传播会有帮助吗?

那么我如何防止在 canvas 中发生任何类型的交互,只需放置一个类似于墙的显示对象,它不允许其他显示对象获得点击、鼠标悬停或触摸事件。

您可以将 obj.mouseEnabled= obj.mouseChildren = false; 添加到任何您不想接收的事件。

如果您只想阻止顶部带有 child 的事件,只需向其添加鼠标处理程序即可。

cover.on("click", function(){});

您不需要 stopPropagation,因为这只会阻止事件在当前层次结构中冒泡(即,将事件显示到它的直接 parent)。没有鼠标处理程序的事件 "pass through" objects。

希望对您有所帮助!