J'essaie de faire de JQuery Ajouter à nouveau Div puis de la rendre dragagable mais j'essaie et je cherche Google et je ne trouve rien ici est mon code ci-dessous
$(document).ready(function() {
$("#draggable").draggable({
containment: 'parent',
handle: 'drag_border',
drag: function(e, ui) {
var top = ui.position.top;
var left = ui.position.left;
$("#top").html(top);
$("#left").html(left);
}
});
});
function New_Text() {
$("<div id=\"draggable\" style=\"width: 200px; height: 50px; border:dashed thin; background-color: #fff\">Drag me</div>").appendTo("div#drag_border");
}
4 Réponses :
Je ne l'ai pas essayé, mais cela devrait fonctionner:
function New_Text() {
$("<div id=\"draggable\" style=\"width: 200px; height: 50px; border:dashed thin; background-color: #fff\">Drag me</div>").appendTo("div#drag_border");
setTimeout(function() {
...
});
}, 10);
}
Le problème ici est que vous créez la DIV après avoir essayé de le faire glisser. p>
Les événements de JQuery ne fonctionnent que sur les éléments qui existent à l'époque duquel le JavaScript est exécuté - il existe des moyens autour de celui-ci à l'aide du code> code> et Donc, si ce code doit rester identique, déplacez le bit qui crée la DIV au-dessus de la fonction draggable - et cela fonctionnera. p> délégué code> fonctions - mais cela ne fait pas 'T ressemble à votre plugin permet de cela. p>
Si vous utilisez jQuery UI , puis créez votre élément et faites-la glacer:
$("<div />").draggable();
Étant donné que certaines personnes ont mentionné la fonction Ajoutez la ligne suivante (référence à JQuery UI) à votre page .html, à l'intérieur de la tête ou au bas du corps: p> maintenant, pour rendre #Draked dragge vous écrivez dans votre script (votre script ou la référence Pour cela, il faut venir après la référence à JQuery UI): P> draggable () code> ici, qui est une fonction d'interface utilisateur JQuery, voici un court-circuité: $('#draggable').draggable()
Ceci est juste un extrait, pourriez-vous publier davantage du code afin qu'il soit plus facile de déboguer?
Pouvez-vous faire la DIV lorsque la page est chargée et l'avoir caché jusqu'à ce qu'il soit nécessaire?
@ Alexy13 - Je crois que le problème est qu'il crée la div une plus tard, le gestionnaire d'événements n'est donc pas attaché à la Div, et je ne pense pas que la fonction live fonctionnera pour cela, mais c'est presque ce dont il a besoin.
Ce que je voulais dire, c'est de poster une partie du HTML afin que je puisse trouver le problème plus facile. Parfois, je ne suis pas très bon pour expliquer: p