2009-09-28 7 views
1

Lorsque j'essaie d'utiliser un événement triable. (Par exemple le cas stop()) Il ne fonctionne que lorsque je lie l'aide:Comment lier un événement stop à l'aide de l'interface utilisateur jQuery triable?

$('.selector').bind('sortstop', function(event, ui) { 
    ... 
}); 

plutôt que

$('.selector').sortable({ 
    stop: function(event, ui) { ... } 
}); 

Y at-il une pièce manquante dans ce domaine? La seule raison pour laquelle je demande est parce que quand je lie en utilisant la méthode bind() réelle, il ne me donne pas accès à l'événement ou les paramètres d'interface utilisateur que je passe. Je suis toujours renvoyé indéfini. Hrm, si les paramètres de votre fonction sont des valeurs indéfinies, cela ressemble à un bug.

+0

@colourandcode avez-vous réussi à obtenir ce fonctionnement? – mcgrailm

Répondre

1

Pour répondre à votre question spécifique, votre deuxième ligne ($('.selector').sortable({ stop: function(event, ui) { ... } });) n'aura aucun effet après la première, en initialisant l'appel à sortable(). Pour modifier les options après cet appel d'initialisation, vous appelez la méthode option:

$('.selector').sortable('option', 'stop', function(event, ui) { /* ... */ }); 
0

exemple d'utilisation triables

$('.selector').sortable({ 
    change: function(event, ui) { 
     ui.placeholder.parent().children().show(); 
     ui.placeholder.parents("li:first").find(".sortaccordion:first").attr('src',prefix+'/img/accordionopen.gif'); 
    }, 
    stop: function(event, ui) { 
     // do stuff here 
    } 
}); 

si cela ne vous fonctionne pas, alors peut-être rencontrez un autre problème comme vous n'êtes pas le chargement ui sortable ou vous avez mauvais html

avez-vous des erreurs?