Se è un compito in classe non rispondiamo!
Il problema di fondo è che nel doubleclick c'è il click!
<script> function duplica(el) { var obj = el.cloneNode(true); document.getElementById('lista').appendChild(obj); } function sposta(el) { var obj = el.cloneNode(true); el.setAttribute('id','elimina'); document.getElementById('lista').appendChild(obj); var obj_del = document.getElementById('elimina'); document.getElementById('lista').removeChild(obj_del); } </script> <ul id='lista'> <li onClick="sposta(this);" onDblClick="duplica(this);">1li</li> <li onClick="sposta(this);" onDblClick="duplica(this);">2li</li> <li onClick="sposta(this);" onDblClick="duplica(this);">3li</li> <li onClick="sposta(this);" onDblClick="duplica(this);">4li</li> <li onClick="sposta(this);" onDblClick="duplica(this);">5li</li> </li>Di conseguenza con l'uso degli eventi in modo normale ti ritrovi a far funzionare bene il click, ma il doubleclick lo fa sull'elemento successivo nella lista, dato che il primo click l'ha fatto su un elemeno che è stato spostato in fondo alla pagina...
Sto lavorando per sistemare il problema!