Forums : Extensions

Aller à la discussion :  Plus récente Plus ancienne

# problème de drag and drop

Envoyé par : Utilisateur anonyme

Date : 01/04/2006 16:05

Bonjour,

Je suis en train d'implémenter le drag and drop pour une liste dans mon extension. Mais le problème c'est que je ne peux pas démarrer de session depuis ma liste, et que si j'en démarre une depuis une autre application et que je drop sur ma liste j'ai firefox qui plante (voulez vous arreter le script blablabla)

J'ai aucune erreur dans la console.

Voilà le code que j'utilise:

  • Ajout des evenements :
   Event.observe(listitem, 'draggesture', function(event) { return nsDragAndDrop.startDrag(event, dragdrop); });
   Event.observe(listitem, 'dragover', function(event) { return nsDragAndDrop.dragOver(event, dragdrop); });
   Event.observe(listitem, 'dragdrop', function(event) { return nsDragAndDrop.drop(event, dragdrop); });
   Event.observe(listitem, 'dragexit', function(event) { return nsDragAndDrop.dragExit(event, dragdrop); });
  • Objet observateur :
var dragdrop = {

 onDragStart: function(event, transferData, action){
 
   var name = event.target.childNodes[0].getAtribute('label');
   var csv = event.target.childNodes[1].getAttributes('label');
   
   transferData.data = new TransferData();
   transferData.data.addDataForFlavour("text/unicode", name + '||' + csv);
 },
 
 getSupportedFlavours : function() {
 
   var flavours = new FlavourSet();
   flavours.appendFlavour("text/unicode");
   return flavours;
   
 },
 
 onDragOver: function(event, flavour, session) {
 
   event.target.setAttribute('style', 'border-top:2px solid #000000;');
 
 },
 
 onDragExit: function(event, session) {
 
   event.target.setAttribute('style', null);  
 
 },
 
 onDrop: function(event, dropdata, session) {
 
   $('hfrenhance2-smilies-name').value = dropdata.data;
   
 } 

}

# Re: problème de drag and drop

Envoyé par : Utilisateur anonyme

Date : 01/04/2006 16:15

Je viens de voir le 's' en trop dans onDragStart,mais ça ne change rien au problème

# Re: problème de drag and drop

Envoyé par : laurentj

Date : 03/04/2006 11:16

Event.observe

c'est quoi cette méthode ?

ce serait plutôt ça à mon avis

listitem.addEventListener(draggesture', function(event) { return nsDragAndDrop.startDrag(event, dragdrop); });

# Re: problème de drag and drop

Envoyé par : p4xp

Date : 04/04/2006 12:44

J'utilise prototype pour mon extension, donc c'est la même chose

# Re: problème de drag and drop

Envoyé par : laurentj

Date : 04/04/2006 18:03

J'utilise prototype pour mon extension, donc c'est la même chose

Mouai... il est probable que ta lib prototype soit en cause dans ce problème. De plus, je ne vois pas trop l'interet d'utiliser cette lib en xul, pourquoi s'encombrer de 130ko de code js alors qu'en une ligne classique c'est reglé ?

Je te conseille dans un premier temps d'eviter d'utiliser cette lib, de faire un test de ton dnd sans passer par la lib prototype.

Pour voir toutes les erreurs dans la console, tu as bien activé les preferences pour le débuggage ? (cf wiki)

# Re: problème de drag and drop

Envoyé par : p4xp

Date : 13/04/2006 12:25

Je suis de retour !

Le problème est le même sans utiliser prototype.

Pour ce qui est de l'interet de l'utiliser, je dirai meilleure lisibilité et performances pas trop à la ramasse puisque j'utilise une version simpléfiée (pas d'ajax etc)

Sinon, oui j'ai activé les prefs de debuggage :)

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.