JS - PHP lekérés, kattinthatóság megoldása?
A következő lekérésről van szó:
<script>
const intervalId = setInterval(function() {
const xhttp = new XMLHttpRequest();
xhttp.onload = function(){
document.getElementById("table").innerHTML = this.responseText;
}
xhttp.open("GET", "https://example.com/abc.php");
xhttp.send();
contentLoaded = true;
}, 6000);
</script>
<div id="table"></div>
Mivel setIntervalról van szó, nem működnek a kattintható objektumok. Nekem viszont van egy SVG-m, az oldalon, ami jQuery segítségével egy további divet jelenít meg. Fontos lenne, hogy a lekérésem után is kattintható legyen ez a kép. Mint kezdőnek, vki tud segíteni? Korábban nem kellett még megoldanom ilyet.
Az SVG-re kattintás folyamata, amit abc.php tartalmaz:
<img id='svg' src='https://example.com/image.svg' class='svg'>
$('#svg').click(function() {
var text = '<?php echo $text; ?>';
$.post("https://example.com/def.php", {get-php: true, text: text, function(data) {
alert(data);
});
});
Ha jól értem, akkor backend hívás egy HTML kódot ad vissza, amit simán beillesztesz az oldalba. Namost a kattintás azért nem működik, mert a dinamikusan hozzáadott DOM elemeken nem lesz rajta a handle. Ahhoz, hogy működjön, az onload függvényeden a beillesztett HTML elemre újra rá kell tenned a click handlert.
De sokkal jobb ötlet, ha a jquery-t elfelejted és megtanulsz valami mai framework-öt, mint a React vagy az Angular.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!