Ciao a tutti, non conosco molto javascript, ho un problema con uno script che ho modificato, in pratica trascinando un'immagine su un div l'immagine rimane l'immagine sul div e nell'input che ho chiamato codice mi appare il testo alternativo dell'immagine, il problema è che su explorer e chrome funzione mentre su firfoxe mi appare l'immagine nel div ma non il testo alternativo.
Questa è la parte della pagina visibile:
codice:[img]immagini/1.gif[/img] [img]immagini/2.gif[/img] [img]immagini/3.gif[/img] [img]immagini/4.gif[/img] <div id="1"> Trascina qui le immagini </div> <form method="post" name="primo" id="primo"> <input type="text" id="codice" name="codice"> </p> </form>
Questo è lo script che ho usato, in rosso sono le 2 righe che ho aggiunto io:
Qualcuno sa dirmi dove sbaglio?codice:<script> $("img") //Indica all'utente quali elementi sono trascinabili cambiando il cursore del mouse .css("cursor", "move") //Indica al browser gli elementi trascinabili e cose fare dei dati di questi elementi (punto 1 e 2) .bind("dragstart", function(ev) { //con queste due righe di codice si salva una parte dei dati var dt = ev.originalEvent.dataTransfer; dt.setData("Text", this.alt); return true; }); //Indica al browser su quali elementi puoi trascinare gli oggetti (punto 3) $("div") //dragenter dragleave dragover di solito sono usati per cambiare l'aspetto grafico .bind("dragenter", function (ev){ $(this).css("background-color", "b959fc").css("cursor", "copy"); return false; }) .bind("dragleave", function (ev){ $(this).css("background-color", "white"); return false; }) .bind("dragover", function (ev){ $(this).css("background-color", "#b959fc"); return false; }) //Indica cosa fare una volta avvenuto il drop (punto 4) .bind("drop", function (ev){ $(this).css("background-color", "white"); //Impedisce al browser di selezionare il testo invece di trascinare gli elementi(per internet explorer 9) if (ev.preventDefault) { ev.preventDefault(); } //recupero i dati salvati in precedenza e li uso per modificare il contenuto del target var tmp = ev.originalEvent.dataTransfer.getData("Text"); var tmp1= "[img]immagini/"+tmp+".gif[/img]"; this.innerHTML = tmp1; primo.codice.value = tmp; return false; }); </script>

Rispondi quotando