与 Raphael 一起靠近元素时的鼠标事件

发布于 2024-12-24 03:03:39 字数 377 浏览 1 评论 0原文

根据这个问题 Raphael - 鼠标靠近元素时的事件

我在另一个矩形周围创建一个不可见的矩形, 当鼠标悬停在那个大矩形上时,会出现一个圆圈。 但因为大矩形位于小矩形之上, 当鼠标悬停在小矩形上时,我无法处理另一个事件。

(如果小矩形在顶部,当我到达小矩形时该点将消失) 我还想与圈子一起举办另一场活动。

有什么解决办法吗? Hier 是 代码

According to this question
Raphael - event when mouse near element

i create a invisible rectangle around another rectangle ,
when the mouse is over that large rect, a circle will appear.
but because the large rect is on top of the small rect,
i can't process another event when mouse is over the small rect.

(if the small rect is on top , the point will disappear when i reach the small rect)
And i want also to have another event with the circle.

Is there any solution for this?
Hier is the code

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉月流沐 2024-12-31 03:03:39

有点用较小的矩形来模仿较大矩形的事件:

var paper = new Raphael(0, 0, 500, 500);

createRect(100, 100, 100, 50);

function createRect(x, y, width, height) {
    var boundrect = paper.rect(x - 30, y - 30, width + 60, height + 60).attr({
            "fill": "pink",
            "stroke": "none"
        }).mouseover(function(event) {
            topCtrl.show()
        }).mouseout(function(event) {
            topCtrl.hide()
        })

        ,

        rect = paper.rect(x, y, width, height).attr({
        "fill": "white",
        "stroke": "red"
    }).mouseover(function(event) {
        topCtrl.show();
        topCtrl.attr({
            "fill": "white"
        })
    }),
        topCtrl = paper.circle(x + (width / 2), y, 5).attr({
            "fill": "red"
        });
}

Kind of mimicking the events of the larger rectangle with the smaller one:

var paper = new Raphael(0, 0, 500, 500);

createRect(100, 100, 100, 50);

function createRect(x, y, width, height) {
    var boundrect = paper.rect(x - 30, y - 30, width + 60, height + 60).attr({
            "fill": "pink",
            "stroke": "none"
        }).mouseover(function(event) {
            topCtrl.show()
        }).mouseout(function(event) {
            topCtrl.hide()
        })

        ,

        rect = paper.rect(x, y, width, height).attr({
        "fill": "white",
        "stroke": "red"
    }).mouseover(function(event) {
        topCtrl.show();
        topCtrl.attr({
            "fill": "white"
        })
    }),
        topCtrl = paper.circle(x + (width / 2), y, 5).attr({
            "fill": "red"
        });
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文