gpt4 book ai didi

javascript - Raphael.js 中的火灾事件

转载 作者:数据小太阳 更新时间:2023-10-29 04:02:37 25 4
gpt4 key购买 nike

我有一个带点击事件处理程序的 Raphael 元素:

var paper = Raphael("container", 770, 160);
var c = paper.rect(10, 10, 50, 50);
c.click(function () {
alert("triggering");
})

如何手动触发此事件? (c.click() 不起作用)
谢谢!

最佳答案

虽然这个问题已经回答了,但我会发布我随机发现的解决方案。Raphael 的内部机制是可能的:

当您附加一个事件监听器(如 element.click(func))时,element 对象会保存一个包含所有事件的数组。在这个数组中有一个对象,它有一个触发事件的方法f(奇怪的命名约定)。

总而言之,您可以在知道事件顺序的情况下调用您的事件,在您的情况下,只有索引 0 上的 click 事件,您可以这样调用它:c.events[0].f();

一个更通用的解决方案是像这样的函数

function triggerClick(element) {
for(var i = 0, len = element.events.length; i < len; i++) {
if (element.events[i].name == 'click') {
element.events[i].f();
}
}
}​

但请注意,如果您有多个 click 事件,所有事件都会被触发。

Here's a fiddle进行演示。

关于javascript - Raphael.js 中的火灾事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11951469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com