最近在开发一个项目的时候遇到一个jQuery的缓存问题
环境:
一个邮件系统,当点击一个邮件时使用ajax打开,用JS改变邮件图标为已读。
有一个功能,即是点击邮件图标时使图标变成选中状态:
$j(document).ready(
function(){
$j(".mailSelecter").each(
function(){
$j(this).toggle(
function(){
var src = $j(this).attr("src");
if(src=="/Content/images/mail_opened.gif")
$j(this).attr("src","/Content/images/mail_opened_selected.gif");
else
$j(this).attr("src","/Content/images/mail_new_selected.gif");
},
function(){
var src = $j(this).attr("src");
if(src=="/Content/images/mail_opened_selected.gif")
$j(this).attr("src","/Content/images/mail_opened.gif");
else
$j(this).attr("src","/Content/images/mail_new.gif");
}
);
}
);
}
);
会发现,如果查看未阅读的邮件时,用jQuery将图片变成已读的图标,但是在上面代码中,jQuery的缓存中,刚刚查看的那封邮件的图标还是未读的图标,所以,选中时,还是使用:
$j(this).attr("src","/Content/images/mail_new_selected.gif");
期望:
$j(this).attr("src","/Content/images/mail_opened_selected.gif");
相关推荐
清除Jquery缓存语句
在IE浏览器下,一般的ajax的方法都是cache等于true的,下面有几个不错的解决方法,感兴趣的朋友可以参考下
jQuery缓存性能分析比较案例,根据案例了解缓存的重要性
AJAX-Cache是一款jQuery缓存插件,可以为$.ajax()方法扩展缓存功能
本文分析了jQuery数据缓存用法。分享给大家供大家参考。具体如下: 在jQuery的API帮助文档中,jQuery这样描述数据缓存的作用:用于在一个元素上存取数据而避免了循环引用的风险。 一、定义缓存数据 使用$(selector)....
NULL 博文链接:https://justcoding.iteye.com/blog/2188138
NULL 博文链接:https://nuysoft.iteye.com/blog/1195313
静态html+Jquery+缓存实现日志存储记录和删除
jQuery本地缓存添加记录列表特效.zip
【ASP.NET编程知识】ASP.NET MVC中使用jQuery时的浏览器缓存问题详解.docx
但是问题来了,在FF里面,是没有ajax缓存的,也就是每次都会触发ajax请求,这点和IE不一样。所以在这里就得注意,做个判断,阻止触发ajax事件。 代码如下:function ajax_show(apartId,roomClass,sortTile){ HX_THIS...
在jquery里面用$.ajax 然后, 指定ajax属性的时候, 使用了:’false’ . 可恶的javascript特性就在这里出现了。 在jquery里面, 大部分的时候, 属性要用”引起来。 否则容易变成变量名。比如red, 引不引都差不多...
1:GET访问 浏览器 认为 是等幂的就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果 POST则 认为是一个 变动性 ...
jQuery 图像缓存 localStorage中图片缓存的jQuery插件 注意: localStorage 的大多数浏览器内存限制为 5MB。 注意:图像缓存的正确方法是使用 http 服务器缓存标头的响应。 版本 1.0.0 要求 jQuery [ ] 如何使用 ...
但是remote验证的缓存问题让我头痛了很久,几乎就像放弃这款插件了。 举例说明: 现有学校,年级,班级实体 在同一学校下不能有相同的年级,在同一年级下不能有相同的班级 以同一学校下不能有相同年级为例,在验证的...
读jQuery之六 缓存数据功能介绍,学习jquery的朋友可以参考下。
1.解决ie8缓存 2.bootstrap结合ie8的jquery版本 3.ie8不支持bootstrap的部分功能
在ie系列下,$.get()方法在url地址固定时,会缓存返回结果,导致不可预料的问题。但在火狐下,则不会缓存。 要解决该问题有很多办法,最直接的是把$.get()方法换成$.ajax(),然后配置cache:false即可。我不喜欢$....
前言 对于jQuery的数据缓存,相信大家都不会陌生,jQuery缓存系统不仅运用于DOM元素,动画、事件等都有用到这个缓存系统。所以在平时实际应用中, 我们经常需要给元素缓存一些数据,并且这些数据往往和DOM元素紧密...