2010-04-29 6 views
3

Ok, quand quelque chose est draggable, il est donné la classe .ui-draggable Et quand quelque chose est désactivé d'être draggable .ui-draggable-handicapésProblèmes avec jQuery .pas() et ui draggable

I vouloir sélectionner uniquement les éléments qui peuvent être déplacés.

J'utilise le sélecteur suivant, mais cela ne semble pas fonctionner. Mes objets draggables désactivés font toujours quelque chose en stationnaire. Des idées pourquoi?

$('.ui-draggable').not('.ui-draggable-disabled').hover(function() { 
// rest of code 

Merci

Répondre

4

Essayez:

// selector means "doesn't have", ':not(:has(selector))' 
$(".ui-draggable:not(:has(.ui-draggable-disabled))").hover(function() { ... 

ou:

$('.ui-draggable').not(':has(.ui-draggable-disabled)').hover(function() { 

ou de test pour la présence de la classe personnes handicapées dans les fonctions hover mouseover/mouseout:

$(".ui-draggable").hover(function() { 
    if(!$(this).hasClass("ui-draggable-disabled")) { 
     // do stuff 
    } 
}, function() { 
    if(!$(this).hasClass("ui-draggable-disabled")) { 
     // do stuff 
    } 
}); 
+0

Merci. Je pensais que ça ferait l'affaire. Hélas ce n'est pas le cas. Bizarre. – Chris

+0

@Chris - Aucune des méthodes ci-dessus ne fonctionne? Oh cher. – karim79

+0

Non. C'est un peu étrange. J'ai aussi essayé de supprimer la classe (dans la même fonction qui désactive la fonction draggable), mais jQuery semble toujours penser que la classe existe toujours, et par conséquent fait des choses en stationnaire. – Chris

Questions connexes