如何将自定义事件添加到svg.js

时间:2018-03-19 16:34:01

标签: javascript svg.js

我正在测试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也无济于事。有什么建议?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您永远不会使用testMe函数来激活您的活动:)

事件发生时,浏览器定义的事件已被触发,对于自定义事件,您已正确定义触发时发生的事件(警报),但如果您打算在某些时候关闭它,则必须触发它。您还制作了触发功能,但您从未使用它。

您可以在浏览器定义的触发器上触发它,然后只需使用这些事件,不要定义自定义。

自定义事件适用于不同的用例。例如,您检测到对象未触及10秒,并且您想要通知代码的其他部分以对其作出反应。默认情况下,未定义该事件,您可以定义该事件并进行自定义代码检查,以便在满足条件时触发事件。

尝试触发您的事件,例如点击事件或仅仅是为了测试将此信息放在scrypt的末尾:

testMe();

现在,当脚本加载到该点并执行触发器功能时,您已经触发了自定义事件。