Je ne sais pas s'il y a un moyen « API » pour le faire. Mais si vous regardez le code source (ligne 64-81)
if($(this).parent().hasClass('directory')) {
if($(this).parent().hasClass('collapsed')) {
// Expand
if(!o.multiFolder) {
$(this).parent().parent().find('UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing });
$(this).parent().parent().find('LI.directory').removeClass('expanded').addClass('collapsed');
}
$(this).parent().find('UL').remove(); // cleanup
showTree($(this).parent(), escape($(this).attr('rel').match(/.*\//)));
$(this).parent().removeClass('collapsed').addClass('expanded');
} else {
// Collapse
$(this).parent().find('UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing });
$(this).parent().removeClass('expanded').addClass('collapsed');
}
} else {
h($(this).attr('rel'));
}
On dirait que vous pouvez appeler une autre fonction à l'intérieur du hasClass('directory')
si la clause et cela fonctionnera.
Alors vous pouvez:
Change Ligne 36 à être
fileTree: function(o, h, dire) {
Entre 65 et 66 ajouter
dire($(this).attr('rel'));
Si vous voulez avoir plus de contrôle/flexibilité/informations, vous pouvez faire dire($(this));
, et il enverra l'objet jQuery au lieu de seulement l'attribut rel
.
Exemple:
$(document).ready(function() {
$('#container_id').fileTree({ root: '/some/folder/' }, function(file) {
// do something when a file is clicked
}, function(dir){
// do something when a dir is clicked
});
});
Je ne l'ai pas testé, vous devrez peut-être changer quelques choses.
Ajouter votre script de connexion et votre jQuery en cours et je vais vous dire ce qui est necessaire. –