Я реализую jQueryFileTree (http://www.abeautifulsite.net/jquery-file-tree/) в качестве файлового браузера и хотел бы, чтобы каждый файл или каталог нажимал кнопку, чтобы оставаться выделенным. Я знаю, что это можно сделать с помощью простого JavaScript или CSS, но я недостаточно понимаю исходный код, чтобы знать, как и где реализовать выделение. Может кто-то указать мне верное направление?jquery file tree highlight selected
4
A
ответ
1
Ну, вы можете сделать захват с помощью обработчика click
и добавить класс, используя addClass
.
$('.thing-i-will-click-on').click(function() {
$(this).addClass('selected');
});
Вы также можете удалить класс с использованием аналогичного метода.
$('.selected').removeClass('selected');
Объединение этих двух предметов должно дать желаемый результат.
0
$('#your_filelist_id').fileTree({
root: '/',
script: '/connectors/jqueryFileTree.php'
}, function(file) {
var flist = $('#your_filelist_id a[rel="' + file + '"]');
if(flist.hasClass('selected')) {
flist.removeClass('selected');
}
else {
flist.addClass('selected');
}
});
1
Так что после небольшого переделания я получил его на работу!
Сначала вы должны пойти в jqueryFileTree.js и изменить строку 80 из этого:
h($(this).attr('rel'));
к:
h($(this));
Это возвращает объект, который щелкнули вместо файла имя. Для того, чтобы получить имя файла в функции (файл) в определении .fileTree вы будете использовать:
file.attr('rel');
Теперь у вас есть объект, и вы можете использовать это в функции (файл), чтобы выделить вы код. (выбранный класс CSS, который я создал, который меняет цвет фона)
$(".selected").removeClass('selected');
file.addClass('selected');
Право. Но если вы знакомы с исходным кодом файла jquery filetree, неясно, где добавить функцию щелчка или «выбранный» класс – Eroth
@Eroth. Вы не добавляете его в источник FileTree. Вы запускаете его в своем собственном коде. –