php - 加载带有 jquery 脚本的完整 PHP 文件
问题描述
问题
我有一个正在处理的项目,我正在使用以下结构:
主文件 (index.php)
子文件夹
子文件夹
Php 文件及其 Jquery 代码
所有子文件夹文件都通过 jquery 加载代码加载以下
$(document).on('click', '.sub_sub_menu', function (e) {
e.preventDefault()
//uri = subfolder/subsubfolder/i.php {Assuming}
uri = $(this).attr('uri')
$('.system_viewport').load(uri)
})
当我单击某个菜单栏项时,它会很好地加载 php 页面,并且我可以在我的主文件(index.php)页面上执行 php 页面中的所有功能,当我通过单击它们来加载其他文件时他们加载的菜单栏很好,问题是当我尝试返回以前加载的文件时,由于大多数点击事件拒绝触发,地狱被释放。
我的想法
第一次加载文件时,它将 jquery 函数加载到 DOM 再次加载时,它仍然通过创建某种冲突或其他东西将函数加载到 DOM 那里......
解决方案
也许您可以跟踪之前已加载的 uri:
let visitedUrls = [];
$(document).on('click', '.sub_sub_menu', function (e) {
e.preventDefault()
//uri = subfolder/subsubfolder/i.php {Assuming}
uri = $(this).attr('uri');
if(visitedUrls.indexOf(uri) === -1) {
$('.system_viewport').load(uri);
visitedUrls.push(uri);
} else {
$('.system_viewport').load(uri + '?excludejs=1');
}
});
然后在应用程序的 php 端,您可以从基于if($_GET['excludejs'] == '1')
或类似的内容中排除 JS 文件?!
推荐阅读
- javascript - 如何在本地渲染小胡子模板
- c - 为什么数组被认为是一种数据结构?
- python - 生成数字直到我得到 7,17,26,28,31,32
- c++ - 为什么 epoll 提供过去事件的数据?
- algorithm - 求 GCD 等于 1 的四联体数
- javascript - 如何使用 Javascript 选择 Xml 数据
- ios - Tableview 单元格未按预期覆盖整个区域
- swift - iOS 在使用 NSAttributedString 时更改 uilabel 的链接颜色
- python - 避免在 tensorflow while_loop 中重新分配内存
- python - 如何将元素列表附加到数据框的单个特征中?