我正在实现一个jQueryFileTree(http://www.abeautifulsite.net/jquery-file-tree/)作为文件浏览器,并希望用户点击的每个文件或目录保持突出显示。我知道这可以使用简单的JavaScript或CSS来完成,但我不太了解源代码,知道如何或在何处实现突出显示。有人能指出我正确的方向吗?
答案 0 :(得分:1)
好吧,您可以使用click
处理程序捕获点击,并使用addClass
添加一个类。
$('.thing-i-will-click-on').click(function() {
$(this).addClass('selected');
});
您也可以使用类似方法删除类。
$('.selected').removeClass('selected');
将这两件事结合起来可以得到理想的结果。
答案 1 :(得分:1)
所以经过一点点的修修补补后我才开始工作!
首先你必须进入jqueryFileTree.js并从中修改第80行:
h($(this).attr('rel'));
为:
h($(this));
这将返回单击的对象而不是文件名。要在.fileTree定义中的函数(文件)中获取文件名,您必须使用:
file.attr('rel');
现在您拥有了该对象,您可以在函数(文件)中使用它来突出显示您的代码。 (选中的是我创建的用于更改背景颜色的CSS类)
$(".selected").removeClass('selected');
file.addClass('selected');
答案 2 :(得分: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');
}
});