Art*_*yan 8 javascript jquery events raphael
我有一个带有click事件处理程序的Raphael元素:
var paper = Raphael("container", 770, 160);
var c = paper.rect(10, 10, 50, 50);
c.click(function () {
alert("triggering");
})
Run Code Online (Sandbox Code Playgroud)
如何手动触发此事件?(c.click()
不要工作)
谢谢!
Dan*_*Lee 13
虽然这个问题已经得到解答,但我会发布我随机发现的解决方案.拉斐尔的内部成员可能会:
当你附加一个事件监听器时,element.click(func)
该element
对象包含一个包含所有事件的数组.在这个数组中有一个对象,它有一个f
触发事件的方法(奇怪的命名约定).
总而言之,你可以在知道事件顺序的情况下调用你的事件,在你的情况下只有click
索引0上的事件,你可以这样称呼它: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();
}
}
}?
Run Code Online (Sandbox Code Playgroud)
但请注意,如果您有多个click
事件,则所有事件都被触发.
这是一个小提琴演示.
归档时间: |
|
查看次数: |
4293 次 |
最近记录: |