3

Je veux être capable de dissaler des images (et d'autres choses) d'être déposé dans un contenu modifiable div à travers les navigateurs. Je vois comment le faire pour Chrome et IE. Firefox refuse obstinément. L'extrait de code à http://jsbin.com/oqozo3 a un exemple qui montre que l'événement se déclenche, je l'annule, et dans FF l'image apparaît toujours.Méthode de Crossbrowser pour annuler un événement de dépôt dans un div modifiable de contenu

Fondamentalement, ce qui suit ne fonctionne pas dans FF

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>ContentEditable fails in FF</title> 
<script type="text/javascript"> 
function init() { 
    var target = document.getElementById("target"); 
    if (target.addEventListener) { 
    target.addEventListener ("dragenter", all, false); 
    target.addEventListener ("dragover", all, false); 
    target.addEventListener ("drop", all, false);  
    target.addEventListener ("dragdrop", all, false); 
    } else { 
    target.attachEvent ("ondragenter", all, false); 
    target.attachEvent ("ondragover", all, false); 
    target.attachEvent ("ondrop", all, false);  
    } 
} 
function all(event) { 
if (event.preventDefault) { event.preventDefault();} 
return false; 
} 
</script> 
</head> 
<body onLoad="init();"> 
    <div id="target" style="border: 1px solid black; height: 100px;" contenteditable="true">This is editable content</div> 
    <div> 
    <p>I don't want the image to be draggable to the above div. Works in IE, 
    Chrome, not firefox.</p> 
    <img src="http://mozcom-cdn.mozilla.net/img/firefox-100.jpg"> 
    </div> 
</body> 
</html> 

Je l'ai déjà regardé: ContentEditable DIV - disabling drag and drop, mais les suggestions là aussi ne fonctionnent pas dans Firefox.

Répondre

0

aucune raison pour laquelle vous n'utilisez pas un cadre comme jQuery, il fait des choses comme ce qui est cross-browser

+0

En fait, je me sers Jquery, mais il n'y avait rien pour ce cas particulier que je pensais que je pouvais utilisation. J'ai regardé Jeditable, mais il a à la fois plus que ce dont j'ai besoin et moins que ce dont j'ai besoin. Peut-être que je n'ai pas regardé assez fort? – seth

Questions connexes