今天在做程序的过程中,遇到一个问题,就是处理修改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. });
经过修改后的代码如下:
//弹出添加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操作了!!!
- 大小: 46 KB
分享到:
相关推荐
在JavaScript和jQuery的世界里,动态创建DOM元素是常见的需求,特别是在构建交互丰富的Web应用时。然而,不恰当的实现方式可能会导致性能问题和兼容性挑战。让我们深入探讨基于jQuery的动态创建DOM元素的最佳实践。 ...
在IE8下使用jQuery获取自定义标签的知识点主要涉及到JavaScript的DOM操作、jQuery的选择器以及对旧版浏览器的兼容性处理。以下是对这些主题的详细解释: 1. **自定义标签**: 自定义标签是HTML5引入的一个新特性,...
使用 jQuery 动态地更新面板的样式(例如,通过 `css()` 方法改变 `left` 和 `top` 属性),使面板跟随鼠标移动。 - **2.3 mouseup 事件** 面板的 `mouseup` 事件是拖拽结束的标志。此时,需要判断鼠标松开位置...
但是,在动态创建 DOM 对象时,我们可以使用 `innerHTML` 属性来实现字符串到 DOM 的转换。 在实际应用中,我们可以使用这个函数来动态创建 DOM 对象,例如: ```javascript var b$ = { parseDom: function(arg) ...
在IT行业中,jQuery是一个广泛...通过以上方法,你应该能够解决在IE8下使用jQuery `append()`向表格添加数据时遇到的问题。在开发过程中,考虑到浏览器兼容性和最佳实践,可以确保你的代码在广泛的用户群体中正常运行。
1. **选择器**:jQuery提供了丰富的CSS选择器,如`$("#id")`、`$(".class")`、`$("tag")`等,使得选取DOM元素变得简单易行。 2. **DOM操作**:jQuery封装了大量的DOM操作方法,如`append()`、`prepend()`用于插入...
在这个进度条插件中,我们需要找到合适的DOM元素,例如页面的body或者特定容器,来插入和更新进度条的HTML结构。 2. **事件监听**:jQuery允许我们方便地绑定和解绑各种事件,如页面加载事件。在进度条插件中,我们...
在IT行业中,jQuery库是广泛使用的JavaScript库,它极大地简化了网页交互和DOM操作。针对“兼容ie8的jquery圆形弹出按钮菜单插件”,我们可以深入探讨jQuery的使用,以及如何构建兼容旧版浏览器(如IE8)的前端组件...
本篇文章着重于解决在IE7环境下使用jQuery动态更改表单元素的name属性后,无法通过标准JavaScript API(如document.getElementsByName())获取到更新后name属性值的问题。 首先需要明确的是,jQuery是一个非常流行...
总之,使用jQuery和EasyUI可以轻松实现一个在IE7和360浏览器中兼容的多选下拉框。通过理解jQuery的基本操作和EasyUI的组件特性,可以高效地构建功能丰富的前端应用。同时,需要注意旧版浏览器的兼容性问题,确保用户...
4. **浏览器兼容性**:考虑到IE6-9的兼容性,可能需要使用jQuery的`.attr()`和`.css()`方法来设置属性和样式,而不是更现代的`.dataset`和CSS3属性。另外,可能需要使用jQuery的`.each()`遍历元素,而不是ES6的`for....
【管理Jquery包装集】是jQuery使用中的一个重要概念,它是指使用jQuery选择器获取的一组DOM元素的集合,通常被称为jQuery对象。这个包装集提供了丰富的API,使得对多个DOM元素的操作变得简单高效。 在jQuery中,当...
- 这个Data URL实际上就是一个base64编码的图片,可以直接插入到`<img>`标签的`src`属性中,或者发送到服务器。 7. 性能优化: 大型复杂的HTML页面转换可能会有性能问题,因为HTML2Canvas需要遍历整个DOM并进行...
值得注意的是,不同的浏览器在实现DOM接口时可能存在差异,因此在进行跨浏览器开发时,应考虑使用像jQuery、Prototype这样的库来确保代码的兼容性和一致性。此外,随着ECMAScript新版本的发布,如ES6中引入了`...
首先,我们要明白,JavaScript可以通过修改DOM元素的样式属性来模拟圆角效果。在非IE浏览器中,我们可以直接使用CSS3的`border-radius`属性,但在IE6-8中,我们需要借助其他方法。以下介绍四种常见的JavaScript或...
当使用".attr()"方法改变" onclick "属性时,实际上是在修改DOM元素的属性(attribute),而并非事件处理器(event handler)。在一些旧版浏览器中,这样直接修改可能并不会如预期那样注册新的事件处理器。为了解决...
1. **选择器和属性操作**:jQuery通过选择器(如ID选择器、类选择器等)定位DOM元素,并可以改变其属性,如`src`属性,以实现图片的切换。例如,我们可以为每张图片分配不同的类名,然后通过点击事件来切换图片的`...
1. **选择器**:jQuery的选择器是其强大之处,允许开发者使用CSS1、CSS2甚至CSS3的选择器来选取DOM元素。例如,`$("#id")`选取ID为指定值的元素,`$(".class")`选取所有类名为指定值的元素,`$("tag")`选取所有指定...
1. **动态操作DOM**:通过jQuery,可以轻松实现元素的增删改查,如动态添加表格行或修改元素属性。 2. **事件处理**:利用jQuery的事件绑定功能,可以实现复杂的用户交互,如表单验证、下拉菜单展开等。 3. **Ajax...
6. **兼容性处理**:确保在各种浏览器(尤其是老版本的IE)中都能正确运行,可能需要使用jQuery的`.browser`方法或Modernizr等工具检测浏览器特性。 在压缩包中的`test.html`文件很可能是插件的示例页面,用于演示...