J'utilise jQuery 1.4.2 (j est le .noConflict())/jQuery UI 1.8.5 et j'ai un problème avec le code suivant.jQuery 1.4.2/jQuery UI droppable - remove(); problème avec Internet Explorer ou quelque chose de mal?
Cela fonctionne bien dans Chrome, FireFox et Safari, mais aucun dans Internet Explorer. L'alerte(); tire mais la ligne suivante (le remove();) non.
balisage XHTML:
<div class="mainarea">
<div class="dnd">
<div class="person dad"></div>
<div class="person mum"></div>
</div>
</div>
<div class="tools">
<div class="person dad"></div>
<div class="person mum"></div>
<div class="person boy"></div>
<div class="person girl"></div>
<div class="bin"></div>
</div>
code Javascript:
j(document).ready(function(){
// make the source item draggable
j('.tools .person').draggable({
revert: "invalid",
helper: "clone"
});
// the target drag n'drop area
j('.dnd').droppable({
accept: ".tools > .person",
revert: "invalid",
activeClass: "active",
drop: function(event, ui) {
//copy from source and make it replaceable by another one
var obj = ui.draggable.clone().droppable({ hoverClass: "active", accept: ".tools .person" });
// in case of replace
if(j(".dnd > .person.active").size())
j(".dnd > .person.active").replaceWith(obj);
else // in case of new or limit reached
if((j(".dnd > .person.active").size() == 0) && (j(".dnd > .person").size() < 4))
obj.appendTo('.dnd');
}
});
// the bin to delete the selected persons
j('.bin').droppable({
accept: ".dnd > .person",
hoverClass: "active",
drop: function(event, ui) {
alert('debug');
ui.draggable.remove();
}
});
// makes drag n'drop is sortable
j(".dnd").sortable({ placeholder: 'empty' });
//helpers
j(".dnd").disableSelection();
});
quelqu'un peut me aider? Merci.
Je suppose que cela ne fonctionne pas non plus lorsque vous supprimez le 'alert'? Par exemple, que vous avez ajouté cela pour le débogage? Notez également que [la documentation de 'Droppable'] (http://jqueryui.com/demos/droppable/) indique que' ui.draggable' est déjà une instance de jQuery, vous n'avez pas besoin d'appeler 'j' Encore une fois (bien qu'il devrait être inoffensif si vous le faites). –
Vous avez dit 1.4.3 dans votre titre, mais 1.4.2 dans le corps de votre message. Utilisez-vous le RC 1.4.3? Ou le 1.4.2 publié? –
L'alerte a été ajoutée uniquement à des fins de débogage et cela fonctionne. J'ai supprimé _j_ avant d'appeler ui.draggable mais ne fonctionne toujours pas. Je viens d'éditer mon titre: la version est 1.4.2. –