2010-05-29 5 views
0

Quelqu'un peut-il me dire comment afficher une alerte lorsque les limites de confinement sont atteintes?alerte lorsque la limite de confinement est atteinte

Merci d'avance.

+0

Que voulez-vous dire par « limites de confinement »? – Tauren

+0

Si vous voulez dire quand l'objet déplacé atteint l'élément droppable et que vous avez besoin d'un retour visuel, vous devez définir le paramètre hoverClass et utiliser CSS pour le style de la droppable avec cette classe. – stagas

+0

Je suppose qu'il veut dire lorsque l'utilisateur traîne aux limites de l'ensemble de l'élément que le confinement – redsquare

Répondre

3

Vous pouvez vérifier que la position ne change pas lorsque le drag event est INTERVENUES, comme ceci:

var position = {}; 
$("#draggable").draggable({ 
    containment: 'document', 
    drag: function(event, ui) { 
    if(position.top == ui.position.top && position.left == ui.position.left) { 
     alert("Constrained"); 
     return false; 
    } 
    position = ui.position; 
} 
});​ 

You can play with a demo of this here

+0

L'exemple fonctionne mais ... Comment prévenir les multiples alertes? Si je déclenche une fonction à la place d'une alerte, la fonction sera-t-elle exécutée autant de fois que l'alerte le fait? – Moustard

+0

@Moustard - Il alerte lorsque vous empêchez de glisser parce que vous avez atteint une contrainte, il ne vous alerte que lorsque vous l'avez fait glisser et que vous l'avez à nouveau frappé. Comme le note Felix dans les commentaires, je ne suis pas sûr que ce soit le comportement que vous * voulez * une fois que vous y pensez. Si vous faites une fonction ici, elle sera exécutée à chaque fois qu'ils atteignent le bord ... si ce n'est pas ce que vous voulez, alors pensez-y, comment diriez-vous que je veux l'exécuter cette fois, mais pas à ce moment-là ? À moins que ce soit basé sur le temps, il n'y a pas de bon moyen d'étrangler ici. –

+0

Alors ... Comment lancer une fonction seulement une fois quand les limites sont atteintes? Je peux définir un global et seulement exécuter la fonction alors qu'elle est fausse ... Des suggestions? – Moustard

Questions connexes