【问题标题】:KineticJS Group .on() eventKineticJS Group .on() 事件
【发布时间】:2014-04-17 00:48:22
【问题描述】:

再一次,我是来寻求帮助的,因为要么我很愚蠢,要么这些东西没有按照说明的那样工作。我在一个组中有 2 个对象,一个 Shape 和一个 Textpath,Textpath 位于 Shape 的顶部。我已经设置了“mouseover”和“mouseout”,如果我从 Shape 转到 Textpath,它会触发“mouseout”事件,即使两者都属于同一组。我发现了一个描述此问题的错误报告 - https://github.com/ericdrowell/KineticJS/issues/603 - 这还没有修复吗?

【问题讨论】:

    标签: javascript events kineticjs


    【解决方案1】:

    我遇到了同样的问题,但仍然不确定它是否确实是一个错误或预期的行为。无论如何,我的解决方法是将鼠标悬停和鼠标悬停添加到“定义该组的周长”的孩子之一。

    所以在下图的情况下,可以将其视为一个包含两个矩形的组,一个大的红色矩形,一个较小的旋转绿色矩形。仅将侦听器添加到红色矩形。或者,您可以将侦听器添加到组并将绿色矩形的侦听属性设置为 false。

    【讨论】:

    • 对不起,我觉得我不太明白。如果我只将侦听器添加到外部元素,那么当我从外部元素转到内部元素时,mouseout 将同样触发。还是我误会了什么?
    • 不,因为内部元素没有附加到它的侦听器,从技术上讲,鼠标还没有离开外部元素。试一试...
    • 嗯,是的,这就是我这么说的原因,因为我已经尝试过了,但对我没有用。例如,有变量 group、shape 和 textpath。如果我只是 shape.on('mouseout', etc.) 它会在我将鼠标悬停/鼠标进入形状边界内的文本路径时触发。
    • 你有没有一个小提琴作为例子?你也可以试试textpath.listening(false)
    • 哦,最后一个成功了!你太棒了,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2014-06-08
    • 2012-08-18
    • 2012-08-29
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    相关资源
    最近更新 更多