J'ai un script qui sélectionne et extrait plusieurs éléments. Cela fonctionne très bien mais quand je veux ajouter un nouvel élément à cette fonction, l'ajouter au DOM, cela ne fonctionne pas. La fonction est:Le nouvel élément jQuery ajouté à DOM ne fonctionne pas
$(function() {
var selected = $([]), offset = {top:0, left:0};
$("#selectable1").selectable();
$("#selectable1 span").draggable({
start: function(ev, ui) {
$(this).is(".ui-selected") || $(".ui-selected").removeClass("ui-selected");
$("span").removeClass("cica"); // ads class Cica to the draged/selected element
$(this).addClass("cica");
selected = $(".ui-selected").each(function() {
var el = $(this);
el.data("offset", el.offset());
$(this).text("Selected and dragging object(s)");
});
offset = $(this).offset();
},
drag: function(ev, ui) {
var dt = ui.position.top - offset.top, dl = ui.position.left - offset.left;
selected.not(this).each(function() {
var el = $(this), off = el.data("offset");
el.css({top: off.top + dt, left: off.left + dl});
});
},
stop: function(ev, ui){
$(this).text("Drag has stopped");
}
});
});
Le nouvel élément est ajouté comme ceci:
$('<span class="drag">Xia</span>').appendTo('#selectable1');
Je sais que je peux utiliser en direct pour le faire fonctionner, mais je ne sais pas où l'ajouter dans le script. Je sais seulement comment l'ajouter sur un événement comme clic, mouseover.
S'il vous plaît laissez-moi savoir si vous avez quelques conseils sur celui-ci.
Merci
Pointy, je reçois une erreur de syntaxe sur cette ligne: $ (ce) .Find ('envergure: non (.dragReady)') i je verrai si je peux le réparer et faire un essai – Mircea
Débarrassez-vous du "i" final - c'est une faute de frappe :-) Désolé à ce sujet; Je vais éditer la réponse. – Pointy
OK, j'ai fait votre code. Cela rend le nouvel élément dragable mais il tue la fonction elle-même. Je veux dire que la fonction était destinée à rendre les éléments sélectionnables et glissables en même temps. Je n'ai probablement pas implémenté votre solution correctement. J'ai besoin de regarder plus dans ceci. – Mircea