我正在测试svg.js库,并发现声明custom events的问题。这是the fiddle。点击第一个圆圈应该改变颜色并且它可以工作:
circleOne.click(function() {
this.fill({ color: '#f06' })
})
点击第二个圆圈会触发自定义事件,但它不会:
var circleTwo = SVG.select('circle.circle-01');
circleTwo.on('myevent', function() {
alert('ta-da!')
})
function testMe() {
circleTwo.fire('myevent')
}
将.fire
更改为.event
也无济于事。有什么建议?提前谢谢。
答案 0 :(得分:1)
您永远不会使用testMe
函数来激活您的活动:)
事件发生时,浏览器定义的事件已被触发,对于自定义事件,您已正确定义触发时发生的事件(警报),但如果您打算在某些时候关闭它,则必须触发它。您还制作了触发功能,但您从未使用它。
您可以在浏览器定义的触发器上触发它,然后只需使用这些事件,不要定义自定义。
自定义事件适用于不同的用例。例如,您检测到对象未触及10秒,并且您想要通知代码的其他部分以对其作出反应。默认情况下,未定义该事件,您可以定义该事件并进行自定义代码检查,以便在满足条件时触发事件。
尝试触发您的事件,例如点击事件或仅仅是为了测试将此信息放在scrypt的末尾:
testMe();
现在,当脚本加载到该点并执行触发器功能时,您已经触发了自定义事件。