function dropStart(e){
e.dataTransfer.setData("Text",e.target.id);
//e.dataTransfer.clearData();在这里调用clearData(),drop函数里的getData才会返回空值。
}
function drop(e){
var id=e.dataTransfer.getData("Text");
e.dataTransfer.clearData();
console.log(e.dataTransfer.getData("Text"));//还可以获得id
}
Après avoir appelé e.dataTransfer.clearData() dans la fonction drop, l'exécution de getData("Text") renverra également la valeur dans setData(), alors comment utiliser clearData(), ou après l'exécution de la fonction drop ? les données enregistrées par dataTransfer.setData() seront-elles automatiquement supprimées ?
Il n'y a aucun problème avec ma sortie. DataTransfer.clearData() ne peut être utilisé que dans l'événement dragstart.
clearData() ne peut être utilisé que dans la fonction dragStart. Appeler clearData() dans la fonction drop est inutile et inutile, car les données enregistrées par setData() sont créées au démarrage du glisser et ne sont pas utilisées lorsque le glisser est effectué. Autrement dit, à la fin du glissement, les données enregistrées par setData() seront détruites.