Empêcher l’action par défaut. Fonctionne uniquement en chrome

Jquery:

$(document).ready(function () {   $('input[type=file]').uploadImage();   jQuery.event.props.push('dataTransfer');   $(".upload-cont").bind('dragenter', function (e) {    $(".upload-cont").css("border", "1px dashed black;");   });   $(".upload-cont").bind('drop', function (e) {    var files = e.dataTransfer.files;    e.preventDefault();   });   $("body").bind('drop', function (e) {    e.preventDefault();   }); }); 

Dans Firefox 17, Explorer 8, lorsque vous faites glisser un fichier du bureau vers le navigateur, l’image est chargée dans une autre page. J’avais ajouté preventDefault () qui fonctionne parfaitement en chrome. Que peut-on faire pour que l’action soit empêchée dans ff, c’est-à-dire navigateur.

Essayez de changer le code pour être.

 $('body').on('dragover drop', function(e){ e.preventDefault(); }); 

L’événement dragover doit également être annulé pour que certains navigateurs puissent écouter le largage. Pour citer le mdn

Un écouteur pour les événements dragenter et dragover est utilisé pour indiquer des cibles de repository valides, c’est-à-dire des emplacements où des éléments glissés peuvent être déposés. La plupart des zones d’une page Web ou d’une application ne sont pas des emplacements valides pour supprimer des données. Ainsi, le traitement par défaut pour ces événements est de ne pas autoriser une suppression.

Si vous souhaitez autoriser une suppression, vous devez empêcher le traitement par défaut en annulant l’événement. Vous pouvez le faire en renvoyant la valeur false à partir d’un écouteur d’événement défini par un atsortingbut ou en appelant la méthode event.preventDefault de l’événement. Ce dernier peut être plus réalisable dans une fonction définie dans un script séparé.