Javascript 选中jquery文件树突出显示
我正在实现一个jQueryFileTree()作为文件浏览器,并希望用户单击的每个文件或目录保持高亮显示。我知道这可以使用简单的JavaScript或CSS来完成,但我对源代码的理解还不够透彻,不知道如何或在何处实现突出显示。有人能给我指出正确的方向吗?好的,你可以使用Javascript 选中jquery文件树突出显示,javascript,jquery,html,css,filetree,Javascript,Jquery,Html,Css,Filetree,我正在实现一个jQueryFileTree()作为文件浏览器,并希望用户单击的每个文件或目录保持高亮显示。我知道这可以使用简单的JavaScript或CSS来完成,但我对源代码的理解还不够透彻,不知道如何或在何处实现突出显示。有人能给我指出正确的方向吗?好的,你可以使用点击处理程序捕获点击,并使用添加类 $('.thing-i-will-click-on').click(function() { $(this).addClass('selected'); }); 还可以使用类似的方法删除类
点击处理程序捕获点击,并使用添加类
$('.thing-i-will-click-on').click(function() {
$(this).addClass('selected');
});
还可以使用类似的方法删除类
$('.selected').removeClass('selected');
把这两件事结合起来应该会给你想要的结果。所以经过一点修补,我让它工作了
$('#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');
}
});
首先,您必须进入jqueryFileTree.js并从以下内容修改第80行:
h($(this).attr('rel'));
致:
这将返回单击的对象,而不是文件名。要获取.fileTree定义中函数(file)中的文件名,必须使用:
file.attr('rel');
现在您有了对象,可以在函数(文件)中使用它来突出显示代码。(选定的是我创建的更改背景颜色的CSS类)
正确的。但是,如果您熟悉jquery filetree源代码,则不清楚在何处添加单击函数或“selected”class@Eroth您不会将其添加到FileTree源中。您可以在自己的代码中运行它。
file.attr('rel');
$(".selected").removeClass('selected');
file.addClass('selected');