Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将自定义事件添加到svg.js_Javascript_Svg.js - Fatal编程技术网

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

Javascript 如何将自定义事件添加到svg.js,javascript,svg.js,Javascript,Svg.js,我正在测试库,发现了一些问题。这是。单击第一个圆圈应该会更改颜色,它可以工作: circleOne.click(function() { this.fill({ color: '#f06' }) }) 单击第二个圆圈会触发自定义事件,但不会: var circleTwo = SVG.select('circle.circle-01'); circleTwo.on('myevent', function() { alert('ta-da!') }) function testMe()

我正在测试库,发现了一些问题。这是。单击第一个圆圈应该会更改颜色,它可以工作:

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
也没有帮助。有什么建议吗?提前感谢。

您从未使用
testMe
函数触发您的事件:)

浏览器定义的事件在事件发生时已经触发,对于自定义事件,您已经正确定义了它触发时发生的情况(警报),但如果您希望它在某个点熄灭,则必须触发它。您还制作了触发器功能,但从未使用过它

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

定制事件适用于不同的用例。例如,您检测到一个对象在10秒钟内未被触碰,您希望通知代码的其他部分对其作出反应。默认情况下未定义该事件,您可以定义该事件并进行自定义代码检查,以在满足条件时触发该事件

尝试启动您的事件,例如单击事件,或者简单地进行测试,将其放在scrypt的末尾:

testMe();

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

感谢您的解释!这(像往常一样)太明显了<代码>圆圈两。单击(testMe)完成作业: