|
@@ -83,29 +83,33 @@ class SiteAlbumController extends AdminController
|
|
|
//以下JS代码用于点击文件夹时,自动跳转到相应页面
|
|
|
Admin::script(
|
|
|
<<<JS
|
|
|
- setTimeout(() => {
|
|
|
- // 获取所有具有 class="jstree-anchor" 的 <a> 元素
|
|
|
- const anchors = document.querySelectorAll('a.jstree-anchor');
|
|
|
- anchors.forEach(anchor => {
|
|
|
- // 提取 id 中的数字部分
|
|
|
- const id = anchor.id.split('_')[0];
|
|
|
- // 动态生成跳转链接
|
|
|
- const href = `/prime-control/site-album?folder_id=`+id;
|
|
|
- // 绑定点击事件
|
|
|
- anchor.addEventListener('click', function(event) {
|
|
|
- event.preventDefault(); // 阻止默认的链接跳转行为
|
|
|
- window.location.href = href; // 跳转到目标页面
|
|
|
- });
|
|
|
-
|
|
|
- folderId = $('select[name="folder_id"]').data('value');
|
|
|
- if (folderId == id) {
|
|
|
- // 如果匹配,添加 jstree-clicked 类
|
|
|
- anchor.classList.add('jstree-clicked');
|
|
|
- }
|
|
|
+// 使用定时器检测容器是否存在
|
|
|
+const interval = setInterval(() => {
|
|
|
+ const containerUl = document.querySelector('.jstree-container-ul');
|
|
|
+ if (containerUl) {
|
|
|
+ clearInterval(interval); // 找到容器后停止检测
|
|
|
+ // 以下是原有逻辑(已优化)
|
|
|
+ const folderId = $('select[name="folder_id"]').data('value'); // 提取 folderId 到外层,避免重复查询[1](@ref)
|
|
|
+ const anchors = document.querySelectorAll('a.jstree-anchor');
|
|
|
+
|
|
|
+ anchors.forEach(anchor => {
|
|
|
+ const id = anchor.id.split('_')[0];
|
|
|
+ const href = `/prime-control/site-album?folder_id=`+id;
|
|
|
+
|
|
|
+ // 绑定点击事件(阻止默认行为)
|
|
|
+ anchor.addEventListener('click', event => {
|
|
|
+ event.preventDefault();
|
|
|
+ window.location.href = href;
|
|
|
});
|
|
|
|
|
|
+ // 高亮当前节点
|
|
|
+ if (folderId == id) {
|
|
|
+ anchor.classList.add('jstree-clicked');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+}, 100); // 每100ms检测一次
|
|
|
|
|
|
- }, 100);
|
|
|
const firstCheckbox = document.querySelector('.vs-checkbox-primary');
|
|
|
// 如果找到元素,则隐藏它
|
|
|
if (firstCheckbox) {
|
|
@@ -117,8 +121,6 @@ class SiteAlbumController extends AdminController
|
|
|
// 清空其值
|
|
|
input.value = '';
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
JS
|
|
|
);
|
|
|
});
|