首页 > 关于jquery 的.load缓存的问题.

关于jquery 的.load缓存的问题.

我在一个页面中执行了多次.load()方法每次将HTML中的内容替换掉,替换中的页面中也有 JS 文件, 这样当页面执行某个方法适合会重复被调用. 但页面中只有一个 js 文件.请问怎么办呢?

jquery load方法 导致页面和js加载了两次

打开jqueryUI的dialog对话框,使用jquery的load方法加载局部页面,局部页面中使用<script>引用了一个js文件。

问题:在多次打开关闭dialog对话框N次后,引用的js文件也被加载了N次(调试器中可以看到N个相同的JS文件),当执行对话框内的操作时,js中相应的代码也被执行N次。


load加载页的引入的js,通过控制台的Sources标签页看不到,
但是实际上确实被加载执行了,你在load引用的js里使用debugger 或者console.log() 之类的方法就可以调试load页引入的js了。

另外看你绑定事件的写法是什么样子的。

$('body').on('click','#btn',function(){}) 这样的绑定你重新载入页面也依旧有效。
那你就需要调用 $('body').off('click','#btn') 解除绑定了。

$('#btn').click(function(){}) 而这样的绑定只会对目前的页面已有的dom绑定事件。
这种情况 你load之后新的dom不会有之前的事件响应的。

【热门文章】
【热门文章】