解决firefox的动态事件
来源:百度文库 编辑:神马文学网 时间:2024/04/27 14:20:59
为了说明问题,举例如下:
比如要实现用户的动态修改,初始化的页面如图所示:
点击修改触发的js代码如下:
function modifyUser(userId) {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled",false);
$("#user" +userId).find("td").eq(4).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled",false);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("提交");
}
效果如下图所示,变为可编辑状态
再次点击“提交”后触发的代码如下,产生的效果应该是回到之前的不可编辑状态:
function updateUser(userId) {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled",true);
$("#user" +userId).find("td").eq(4).find("input").attr("disabled", true);
$("#user" +userId).find("td").eq(5).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("修改");
}
以上代码在ie下没有问题,但是在firefox下却不能如愿,解决办法如下:
// 用于修复firefox的bug
var modifyFlag = true;
function modifyUser(userId) {
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0) {
if(modifyFlag == true) {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(4).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("提交");
} else {
modifyFlag = true;
}
} else {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(4).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("提交");
}
}
function updateUser(userId) {
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0) {
if(modifyFlag) {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(4).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("修改");
modifyFlag = false;
}
} else {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(4).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("修改");
}
}
比如要实现用户的动态修改,初始化的页面如图所示:
点击修改触发的js代码如下:
function modifyUser(userId) {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled",false);
$("#user" +userId).find("td").eq(4).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled",false);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("提交");
}
效果如下图所示,变为可编辑状态
再次点击“提交”后触发的代码如下,产生的效果应该是回到之前的不可编辑状态:
function updateUser(userId) {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled",true);
$("#user" +userId).find("td").eq(4).find("input").attr("disabled", true);
$("#user" +userId).find("td").eq(5).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("
}
以上代码在ie下没有问题,但是在firefox下却不能如愿,解决办法如下:
// 用于修复firefox的bug
var modifyFlag = true;
function modifyUser(userId) {
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0) {
if(modifyFlag == true) {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(4).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("提交");
} else {
modifyFlag = true;
}
} else {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(4).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled", false);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("提交");
}
}
function updateUser(userId) {
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0) {
if(modifyFlag) {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(4).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("修改");
modifyFlag = false;
}
} else {
$("#user" + userId).find("td").eq(2).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(4).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(5).find("input").attr("disabled", true);
$("#user" + userId).find("td").eq(7).find("a").eq(1).html("修改");
}
}
解决firefox的动态事件
Firefox的常用插件安装(解决Linux下在线播放)
解决firefox ie6 ie7 ie8的css样式兼容问题
IE和FireFox的Javascript的事件和事件处理总结
以夷制夷---解决黄海事件的方案曝光
Firefox绿色版的制作方法(基于Portable Firefox)
事件:3G牌照/“域名霸权”/WiMax/Firefox
我的Firefox扩展
firefox的一些插件
Firefox火狐浏览器书签(收藏)同步--暂时解决XMarks无法同步问题 - daydream2008的日志 - 网易博客
IE和FireFox下通用的Javascript模拟点击事件(转) - VIRGIN FOREST OF JAVA - BlogJava
动态创建的CStatic控件如何响应鼠标事件
晓宇:解决山西疫苗事件 从总理的讲话开始
中国军方解决黄海事件的方案曝光 (1)
解决钓鱼岛中日撞船事件的方案大曝光
加速你的firefox浏览器
说说我的Firefox Extensions
我使用的Firefox插件
Firefox.hk Blog Archive FireFox的实时书签
Firefox使用、设置和常见问题的解决方法
for firefox 的Java虚拟机安装
如何显著提升Firefox的性能
提升Firefox上网速度的技巧
最酷的 Firefox 技巧排行榜