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.
我尝试从包含 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.