于是到网上找到了对应的解决方案
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. });
经过修改后的代码如下:
- //弹出添加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');
- }
- }
- });
- }
- );
- }
修改的代码如下:
- 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:'请先选择要修改的记录。'
- });
- }
- }
修改后界面如下

可以实现CRUD操作了!!!