使用jquery动态修改dom元素属性在IE下的问题
2012-11-17 20:40
926 查看
今天在做程序的过程中,遇到一个问题,就是处理修改click属性的时候出现的,当使用jquery动态的修改onclick属性的时候,有的时候会出现不好用的情况
于是到网上找到了对应的解决方案
Js代码 复制代码
1. $(“#some_element”).attr(‘onclick’,"//some new operation");
$(“#some_element”).attr('onclick',"//some new operation");
但是这段代码在FireFox下会按我们的意图正确执行,但是在IE下什么动静都没有。关于问题的描述,可以参考:
http://www.nabble.com/onClick-prepend-td15194791s27240.html http://ajaxian.com/archives/evaling-with-ies-windowexecscript
解决的方法也很简单:
Js代码 复制代码
1. $(“#some_element”).unbind(‘click’).removeAttr(‘onclick’).click(function(){
2. //new operation
3. });
经过修改后的代码如下:
Java代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/23/7ccc4d7f2f6572e755b9debe9a59bae1.png)
//弹出添加device窗体
function addDevice(){
win.window('open');
form.form('clear');
$('#btn-save').unbind('click').removeAttr('onclick').click(
function(){
form.form('submit',{
url:"/moon/device/device.do?method=addDevices",
onSubmit:function(){},
success:function(data){
eval('data='+data);
if (data.success){
grid.datagrid('reload');
win.window('close');
} else {
$.messager.alert('错误',data.msg,'error');
}
}
});
}
);
}
修改的代码如下:
Java代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/23/7ccc4d7f2f6572e755b9debe9a59bae1.png)
function editDevice(){
var row = grid.datagrid('getSelected');
if (row){
win.window('open');
form.form('load', '/moon/device/device.do?method=getDevicesById&id='+row.id);
$('#btn-save').unbind('click').removeAttr('onclick').click(
function(){
form.form('submit',{
url:'/moon/device/device.do?method=updateDevice&id='+row.id,
onSubmit:function(){},
success:function(data){
eval('data='+data);
if (data.success){
grid.datagrid('reload');
win.window('close');
} else {
$.messager.alert('错误',data.msg,'error');
}
}
});
}
);
}else{
$.messager.show({
title:'警告',
msg:'请先选择要修改的记录。'
});
}
}
修改后界面如下
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/23/603c347b28422298d77d576a5b1bfbb6.png)
可以实现CRUD操作了!!!
于是到网上找到了对应的解决方案
Js代码 复制代码
1. $(“#some_element”).attr(‘onclick’,"//some new operation");
$(“#some_element”).attr('onclick',"//some new operation");
但是这段代码在FireFox下会按我们的意图正确执行,但是在IE下什么动静都没有。关于问题的描述,可以参考:
http://www.nabble.com/onClick-prepend-td15194791s27240.html http://ajaxian.com/archives/evaling-with-ies-windowexecscript
解决的方法也很简单:
Js代码 复制代码
1. $(“#some_element”).unbind(‘click’).removeAttr(‘onclick’).click(function(){
2. //new operation
3. });
经过修改后的代码如下:
Java代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/23/7ccc4d7f2f6572e755b9debe9a59bae1.png)
//弹出添加device窗体
function addDevice(){
win.window('open');
form.form('clear');
$('#btn-save').unbind('click').removeAttr('onclick').click(
function(){
form.form('submit',{
url:"/moon/device/device.do?method=addDevices",
onSubmit:function(){},
success:function(data){
eval('data='+data);
if (data.success){
grid.datagrid('reload');
win.window('close');
} else {
$.messager.alert('错误',data.msg,'error');
}
}
});
}
);
}
修改的代码如下:
Java代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/23/7ccc4d7f2f6572e755b9debe9a59bae1.png)
function editDevice(){
var row = grid.datagrid('getSelected');
if (row){
win.window('open');
form.form('load', '/moon/device/device.do?method=getDevicesById&id='+row.id);
$('#btn-save').unbind('click').removeAttr('onclick').click(
function(){
form.form('submit',{
url:'/moon/device/device.do?method=updateDevice&id='+row.id,
onSubmit:function(){},
success:function(data){
eval('data='+data);
if (data.success){
grid.datagrid('reload');
win.window('close');
} else {
$.messager.alert('错误',data.msg,'error');
}
}
});
}
);
}else{
$.messager.show({
title:'警告',
msg:'请先选择要修改的记录。'
});
}
}
修改后界面如下
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/23/603c347b28422298d77d576a5b1bfbb6.png)
可以实现CRUD操作了!!!
相关文章推荐
- 十六、使用jQuery操作元素 —— DOM属性与HTML元素属性
- 基于jquery的关于动态创建DOM元素的问题
- jQuery使用on()绑定动态生成元素的事件无效的问题
- javascript,jquery动态添加dom元素,并设定css属性,点击事件
- 使用jQuery筛选排除元素以修改指定标签的属性
- 日常问题记录--jquery中HTML元素本身固有属性用prop,自定义的DOM属性,在处理时,使用attr方法
- 快速解决js动态改变dom元素属性后页面及时渲染的问题
- 快速解决js动态改变dom元素属性后页面及时渲染的问题
- 使用DOM动态改变页面外观----读取和设定元素属性
- jQuery使用on()绑定动态生成元素的事件无效的问题
- 基于jquery的关于动态创建DOM元素的问题
- JQuery使用on绑定动态生成元素时碰到的问题
- jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解
- 关于使用js的setAttribute和getAttribute取dom属性在ie ff safri下的问题
- 基于jquery的关于动态创建DOM元素的问题
- jQuery使用on()绑定动态生成元素的事件无效的问题
- jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解
- [DOM元素处理] 使用jQuery获取iframe元素的value属性值 IE-firefox可以用
- jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解
- 如何使用jquery 动态修改元素的 background-image?