Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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对象显示切换停止EventListener_Javascript_Html_Css_Svg - Fatal编程技术网

Javascript SVG对象显示切换停止EventListener

Javascript SVG对象显示切换停止EventListener,javascript,html,css,svg,Javascript,Html,Css,Svg,我设法加载了一个外部svg,获取路径的名称并将其插入到工具提示中 但是当我现在切换包含svg对象的div的显示时,EventListener不知何故不再工作了,它只在FireFox中工作,路径的名称将不再显示。 知道为什么Safari和Chrome不再听了吗 window.onload=函数{ var a=document.getElementByIdMap1; var svgDoc=a.contentDocument; var myImage=svgDoc.getElementsByTagN

我设法加载了一个外部svg,获取路径的名称并将其插入到工具提示中

但是当我现在切换包含svg对象的div的显示时,EventListener不知何故不再工作了,它只在FireFox中工作,路径的名称将不再显示。 知道为什么Safari和Chrome不再听了吗

window.onload=函数{ var a=document.getElementByIdMap1; var svgDoc=a.contentDocument; var myImage=svgDoc.getElementsByTagNamepath; 对于变量i=0;i您的浏览器不支持SVG,这是一个奇怪的错误,我复制了它

这个错误的核心是webkit浏览器在CSS显示设置为none时会卸载一个或多个内容。这样做,它将删除所有内容,包括事件侦听器

因此,您至少有两种可能的解决方法:

1-使用。此标签与此错误无关

2-使用一些其他CSS规则来隐藏您的。 类似于以下内容的内容应提供与display相同的功能:无

object.hidden{ 位置:绝对位置; z指数:-99; 宽度:0px; 高度:0px; 可见性:隐藏; 指针事件:无; }
更奇怪的是,这个bug无法在Safari中测试,blob被下载,另一个bug….

提供一个完整的工作示例,否则很难帮助您查看Chrome开发控制台中的错误,我可以单击按钮,尽管您的svg不会加载,但我可以切换浏览器消息ok。我在Mac电脑上使用chrome没有错误,因为没有操作!Kaido的回答很中肯。嗨,Kaido,我有你的一些想法,但我没想到会在这个程序中遇到错误。。。iframe事件在一些额外的css安排上有一些问题,因此toggle示例工作得很好。塔克斯!