Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Html svg中的svg中的ForeignObject中的Select框不';t如果d3.js中有dropshadow,则重新绘制/更新_Html_Google Chrome_D3.js_Svg_Safari - Fatal编程技术网

Html svg中的svg中的ForeignObject中的Select框不';t如果d3.js中有dropshadow,则重新绘制/更新

Html svg中的svg中的ForeignObject中的Select框不';t如果d3.js中有dropshadow,则重新绘制/更新,html,google-chrome,d3.js,svg,safari,Html,Google Chrome,D3.js,Svg,Safari,问题 我正在ForeignObject中创建一些svg图标和一个选择框,以作用于图形的时间轴。svg包含用于设置图形的预设日期范围。在处理这个问题时,我发现在某些浏览器中,更改选择框不会正确更新。您可以更改svg,但在发生某些鼠标事件之前,内容不会更改 我的HTML结构如下所示: body svg defs svg g icon svg g icon svg g icon svg

问题

我正在ForeignObject中创建一些svg图标和一个选择框,以作用于图形的时间轴。svg包含用于设置图形的预设日期范围。在处理这个问题时,我发现在某些浏览器中,更改选择框不会正确更新
。您可以更改svg,但在发生某些鼠标事件之前,内容不会更改

我的HTML结构如下所示:

body
  svg
    defs
    svg
       g icon
         svg
       g icon
         svg
       g icon
         svg
       g icon
         svg
       g icon
         svg
       foreignObject
         selectbox
如何复制

我在这里创作了一把小提琴:

行为

  • 在Chrome/Chromium/Brave中,当您更改选择框时,它不会更新,直到触发鼠标事件(mouseleave或mouseover)更新图标
    路径
    元素
  • 在safari中,更改选择框时,必须单击图标,将鼠标移到图标上不会更新选择框
  • 使用Konqueror、Falkon或Firefox 69 Quantum,一切都按预期运行

在64位Gentoo Linux和Mac OS X 10.14.6 Sierra平台上测试,d3.js版本5

出现此问题的原因是基于Chrome的浏览器和Safari无法正确处理我应用于选择框的dropshadow过滤器。不知何故,它们无法正确渲染或重新绘制。删除
svg
元素中的dropshadow
过滤器
,将在选项更改时正确更新
选择
按钮


变成


我已经向Chrome和Safari浏览器提交了一份报告,希望这个问题能很快得到解决