Pixi.js: [v4.4.0]即使DOM元素在上方,也会发送Sprite的Click事件

创建于 2017-02-27  ·  24评论  ·  资料来源: pixijs/pixi.js

嘿!

从4.4.0版本开始,我观察到当我单击pixi画布上精灵上方的DOM元素时。 Sprite的click事件仍然被触发。

我在这里做了一个简单的例子:
v4.4.0
https://jsfiddle.net/ku55deL6/5/

v4.3.5
https://jsfiddle.net/ku55deL6/4/

还要感谢你们的出色工作!

💾 v4.x (Legacy) 🕷 Bug

最有用的评论

我希望😛我的应用程序经常使用这种情况,但不幸的是,这会导致我遇到很多错误。

所有24条评论

感谢您的修复。 但是问题还没有完全解决。

如果您多次单击Sprite上方的DOM元素,则可以重现该问题。

v4.4.1的示例: https ://jsfiddle.net/ku55deL6/9/

尼斯:)冒险继续!

好的, https://github.com/pixijs/pixi.js/pull/3800应该可以解决导致此问题的另一个问题。

@andrewstart您可以验证您的构建是否正确吗?

是的,它有效。 无论我单击黄色横幅多少次,兔子都保持原状。

大家好!

我尝试使用4.4.2版,但似乎仍不能在每种情况下都得到解决。.如果在同一个容器中有两个精灵,则可以正常工作,但是如果精灵在不同的容器中,则仍然会发生此问题。

看到这个: https :

在这一点上,我认为您正在将错误潜入代码中以为我工作make
这个周末我将有机会看看。 我知道我们有单元测试来强制不为重叠的精灵获取指针事件,因此我必须深入研究为什么不同的容器会改变这种情况。

我希望😛我的应用程序经常使用这种情况,但不幸的是,这会导致我遇到很多错误。

我已经通过https://d157l7jdn8e5sf.cloudfront.net/fix-interaction-issues/pixi.js解决了这个问题,但是最好使用它来查看我们是否还有其他问题,不知道。

该补丁对我不起作用。
情况如下(移动,Safari):

  1. 有2个容器,既可以交互又可以重叠
  2. 当我单击最高的单击处理程序也会在较低的位置触发

@hazardsoft我们目前针对以下情况通过了测试:

    Stage    (both interactive and non-interactive)
    /   \
   parent1  parent2   (together, both interactive and non-interactive)
      /       \  
    item1     item2   (always interactive)
    Stage    (both interactive and non-interactive)
        /    \  
    item1    item2   (always interactive)

在测试中, item1item2重叠,其中item1item2之上。 您的设置有何不同? 你能提供小提琴/笔吗?

@andrewstart ,在哪里可以将pixi.js与您的修复一起使用? 因此,我可以针对我的情况进行验证。

抱歉,还没有解决。 对于我在运行之前给出的示例,但在我的应用上仍然可以单击被单击项下的项目。

此刻,我不知道这是发生这种情况的条件。

对我来说一样,我的案子还没有解决。 将尝试准备jsfiddle。

感谢@hazardsoft ,小提琴绝对是我们验证修补程序的最佳方法。

@bigtimebuddy,更多工作,伙计们:)我非常惊讶您正在解决交互问题,这看起来像一场噩梦。

在这里找到它: https :

如果将交互设置为Sprite,则可以正常工作,但是如果将其分配给容器,则行为是错误的,可以同时单击所有项目。

这将最终通过https://github.com/pixijs/pixi.js/pull/3877修复。

带有mouseup事件的Pixi 4.4.4中的其他一些问题

1- https://jsfiddle.net/8qtz73hf/ (与mousedown一起使用)
2- https://jsfiddle.net/sbxoya8x/ (不适用于mouseup)

看起来像将mouseup侦听器附加到窗口的副作用,以确保如果鼠标不在画布上(或被另一个div阻止),我们可以发送mouseupoutside事件。 在这种情况下,我想我们必须检查事件的目标,以确保它是画布而不是其他元素。

#3466是同一期吗?
我是否应该为此打开一个新书?

不,您不需要。 我工作很忙,这就是为什么我还没有修复的原因。

该线程已被自动锁定,因为它关闭后没有任何近期活动。 请为相关错误打开新一期。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

zcr1 picture zcr1  ·  3评论

lunabunn picture lunabunn  ·  3评论

readygosports picture readygosports  ·  3评论

YuryKuvetski picture YuryKuvetski  ·  3评论

madroneropaulo picture madroneropaulo  ·  3评论