目前在用 JQuery 的 load()方法维护一个页面栈(页面的异步加载,回退)。
但发现当使用 load()方法之后,在之前页面声明的$.fn 以及会失效。(提示$(#).xxx is not defined )
而如果对之前页面的 dom 组件使用$.unbind 方法,也会无效。但$.bind 方法有效。(即在$.load()之前已经 bind 过的事件无法解绑)。
有没有大神能说说如何解决这个问题,或者$.load()导致这个问题的原理?(目前只发现了问题现象,即异步加载的页面不能再导入 jquery.js ,一旦子页面也导入了 jquery.js ,就会出现上文的问题。但我每个页面都是解耦的,有可能是第一页,也有可能是第二页。所以只有部分页面引用 jquery.js 不现实。)
搜遍全网也没有类似的文章,可能是用.load()异步加载页面的人太少了吧😂
1
tikazyq 2020-07-30 22:22:49 +08:00
临时解决方案:
1. 将问题用百度翻译弄成英文,复制粘贴到 StackOverflow,提交问题,等答案 2. 死磕,熬夜加班疯狂 hack jQuery 源码,干到天亮终于解决,隔几天遇到问题又上 v2 求帮助 3. 不成熟的小建议:用 iframe 加载,或去 <script> 标签后渲染加载 一劳永逸方案: 1. 完全干掉 jQuery 2. 迁移到 Vue 、React 3. 拥抱大前端,学习 Webpack 、ES6 、TypeScript 、ESLint 、PWA 、WebAssembly 、Web Component 、Svelte 、Taro 、Flutter 、Antd 、Element-UI |