我正在嘗試在加載的 svg 元素的路徑上使用點擊事件。但它不適用于加載的 svg。但是,如果未加載 svg,它會完美運行。
此代碼完美運行。
<div class="mapdiv">
<?php
echo file_get_contents('a.svg');
?>
</div>
$(document).ready(function () {
$("path").click(function () {
alert("clicked");
});
});
但是當嘗試使用 jquery 加載 svg 時,它不起作用。誰能解釋為什么會這樣?
$(document).ready(function () {
$("#addImage").click(function () {
$("#fileinput").click();
});
$("#fileinput").change(function () {
if (this.files && this.files[0]) {
let reader = new FileReader();
reader.onload = imageIsLoaded;
reader.readAsDataURL(this.files[0]);
}
});
function imageIsLoaded(e) {
$(".mapdiv").load(e.target.result);
}
$("path").click(function () {
alert("clicked");
});
})
uj5u.com熱心網友回復:
要確保內容已附加到 DOM,您需要等待.load(). 您可以將其作為回呼函式來執行。在這里閱讀:.load() | jQuery API 檔案。或使用.live()。
$(document).ready(function() {
$("#addImage").click(function() {
$("#fileinput").click();
});
$("#fileinput").change(function() {
if (this.files && this.files[0]) {
let reader = new FileReader();
reader.onload = imageIsLoaded;
reader.readAsDataURL(this.files[0]);
}
});
});
function imageIsLoaded(e) {
$(".mapdiv").load(e.target.result, function() {
$("path").click(function() {
alert("clicked");
});
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/444646.html
上一篇:要跨越的字符數的多個計數?
下一篇:Vuejs只轉義某些HTML標簽
