AJAX GET 不适用于 SVG 文件

AJAX GET doesent work from SVG file

我尝试从包含 data-html 的 SVG 发出 AJAX 请求,我使用了 Semantic UI Popup

如果我在 SVG 外部调用它,请求会工作,但如果它在 SVG 内部(在 data-html 内),则不会工作,测试,只是一个简单的:

$("#mini").click(function(){
            $.get("/", function(data, status){
                alert("Data: " + data + "\nStatus: " + status);
            });
        });

如果 #mini 在 SVG 外部,我会收到响应,但在内部时不会。

这是fiddle:https://jsfiddle.net/vx59te34/4/

要测试的区域是:

data-html="<h1 id='mini'>hiiii</h1>" 只是数据。也就是字符串。您不能 select 它作为 DOM 的一部分,因为它不是 DOM 元素。它只是一个词,存储在 "data-html" 属性中。您可以使用 $("#Illizi").data('html') 访问此字符串,但它仍将是一个字符串。没有什么可以 select 并将点击绑定到。

在那种情况下,你可以这样做: data-target='#mini' ,然后 $("path").click(function() { $( $(this).data('target') );}) 它应该 select $('#mini').

SVG 是一张图片。它不是容器。环绕一个 div ,它将包含 SVG 和 #mini.