Met*_*iel 5 jquery jquery-plugins reload
我怀疑它确实很容易实现,但我找不到如何做到这一点.是否可以在不刷新整个页面的情况下重新加载JQuery插件,以便刷新它的值?我已经阅读了类似的问题,但他们的目标是特定的插件!我想知道是否有人知道实现这一点的"通用"方法,因此可以在许多JQ插件中使用它.应该有办法确实做到这一点......
无论如何,更具体地说,我问这个问题重新加载JQuery文件树 我有这个:
JAVASCRIPT
$(document).ready( function() {
$('#fileTree').fileTree({
root: '/some/path/to/somewhere/',
script: 'js/jqueryFileTree-1.01/connectors/jqueryFileTree.php',
folderEvent: 'click',
expandSpeed: 1000,
collapseSpeed: 1000,
multiFolder: false,
loadMessage: 'Loading...'
}, function(file) {
relativePath=file.replace("/some/path","");
aFunction(relativePath, file);
});
});
Run Code Online (Sandbox Code Playgroud)
HTML
<div id="fileTree" class="fileTree"></div>
Run Code Online (Sandbox Code Playgroud)
在某个时刻,我有AJAX + PHP代码让我删除所选文件.这很好用!但是已删除的文件仍显示在文件树中.如果我window.location.reload()在该函数中添加了一个成功事件,显然它会重新加载整个页面,而我的树会按预期显示文件夹中的实际文件.
问题:有没有办法重新加载它而不刷新整个页面???
请注意这个插件的作者在Twitter上告诉我:
@metafaniel问题是我们的任何项目都不再使用它.这是一个需要大修的旧旧脚本.通过@abeautifulsite
@metafaniel你必须自己添加.由于插件很旧,它没有完整的API.通过@abeautifulsite
我没有更多的时间在办公室用另一个插件重写我的代码,我必须完成这个!有任何想法吗?请帮帮我,谢谢=)
好吧,如果 OP 要求直接插件命令来执行此操作,恐怕它可能不存在。这是我的解决方案,效果很好。你要做的就是将空的内容包装<div id="jstree"></div>在父 div 中,如下所示:
<div id="file-tree-holder">
<div id="jstree" ></div>
</div>
Run Code Online (Sandbox Code Playgroud)
然后,在 javascript 中,在实例化插件之前,清除父 div的内容,然后在父 div 中重写目标 div,如下所示:
$('#file-tree-holder').html('');
$('#file-tree-holder').html('<div id="jstree" ></div>');
$('#jstree').fileTree({
script: '/ajax/file_tree2/' + path,
multiFolder: true,
expandSpeed: 250,
collapseSpeed: 250,
loadMessage: 'Loading...'
});
Run Code Online (Sandbox Code Playgroud)
...而且效果非常好。