`
lgstarzkhl
  • 浏览: 335412 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

使用jquery动态修改dom元素属性在IE下的问题

阅读更多
今天在做程序的过程中,遇到一个问题,就是处理修改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
分享到:
评论

相关推荐

    基于jquery的关于动态创建DOM元素的问题

    在JavaScript和jQuery的世界里,动态创建DOM元素是常见的需求,特别是在构建交互丰富的Web应用时。然而,不恰当的实现方式可能会导致性能问题和兼容性挑战。让我们深入探讨基于jQuery的动态创建DOM元素的最佳实践。 ...

    在IE8下用JQuery获取自定义标签

    在IE8下使用jQuery获取自定义标签的知识点主要涉及到JavaScript的DOM操作、jQuery的选择器以及对旧版浏览器的兼容性处理。以下是对这些主题的详细解释: 1. **自定义标签**: 自定义标签是HTML5引入的一个新特性,...

    jQuery 实现DOM元素拖拽交换位置的实例代码

    使用 jQuery 动态地更新面板的样式(例如,通过 `css()` 方法改变 `left` 和 `top` 属性),使面板跟随鼠标移动。 - **2.3 mouseup 事件** 面板的 `mouseup` 事件是拖拽结束的标志。此时,需要判断鼠标松开位置...

    javascript转换字符串为dom对象(字符串动态创建dom).docx

    但是,在动态创建 DOM 对象时,我们可以使用 `innerHTML` 属性来实现字符串到 DOM 的转换。 在实际应用中,我们可以使用这个函数来动态创建 DOM 对象,例如: ```javascript var b$ = { parseDom: function(arg) ...

    jquery appen table 问题 ie8下解决方法

    在IT行业中,jQuery是一个广泛...通过以上方法,你应该能够解决在IE8下使用jQuery `append()`向表格添加数据时遇到的问题。在开发过程中,考虑到浏览器兼容性和最佳实践,可以确保你的代码在广泛的用户群体中正常运行。

    jQuery针对IE浏览器低版本测试代码

    1. **选择器**:jQuery提供了丰富的CSS选择器,如`$("#id")`、`$(".class")`、`$("tag")`等,使得选取DOM元素变得简单易行。 2. **DOM操作**:jQuery封装了大量的DOM操作方法,如`append()`、`prepend()`用于插入...

    jquery动态页面加载进度条

    在这个进度条插件中,我们需要找到合适的DOM元素,例如页面的body或者特定容器,来插入和更新进度条的HTML结构。 2. **事件监听**:jQuery允许我们方便地绑定和解绑各种事件,如页面加载事件。在进度条插件中,我们...

    兼容ie8的jquery圆形弹出按钮菜单插件

    在IT行业中,jQuery库是广泛使用的JavaScript库,它极大地简化了网页交互和DOM操作。针对“兼容ie8的jquery圆形弹出按钮菜单插件”,我们可以深入探讨jQuery的使用,以及如何构建兼容旧版浏览器(如IE8)的前端组件...

    解决IE7中使用jQuery动态操作name问题

    本篇文章着重于解决在IE7环境下使用jQuery动态更改表单元素的name属性后,无法通过标准JavaScript API(如document.getElementsByName())获取到更新后name属性值的问题。 首先需要明确的是,jQuery是一个非常流行...

    jquery实现下拉框多选(支持IE7)

    总之,使用jQuery和EasyUI可以轻松实现一个在IE7和360浏览器中兼容的多选下拉框。通过理解jQuery的基本操作和EasyUI的组件特性,可以高效地构建功能丰富的前端应用。同时,需要注意旧版浏览器的兼容性问题,确保用户...

    Tabs切换卡jQuery代码兼容ie6+主流浏览器

    4. **浏览器兼容性**:考虑到IE6-9的兼容性,可能需要使用jQuery的`.attr()`和`.css()`方法来设置属性和样式,而不是更现代的`.dataset`和CSS3属性。另外,可能需要使用jQuery的`.each()`遍历元素,而不是ES6的`for....

    管理Jquery包装集

    【管理Jquery包装集】是jQuery使用中的一个重要概念,它是指使用jQuery选择器获取的一组DOM元素的集合,通常被称为jQuery对象。这个包装集提供了丰富的API,使得对多个DOM元素的操作变得简单高效。 在jQuery中,当...

    根据DOM将html转为canvas图片格式

    - 这个Data URL实际上就是一个base64编码的图片,可以直接插入到`<img>`标签的`src`属性中,或者发送到服务器。 7. 性能优化: 大型复杂的HTML页面转换可能会有性能问题,因为HTML2Canvas需要遍历整个DOM并进行...

    JavaScript获取HTML DOM节点元素的方法的总结

    值得注意的是,不同的浏览器在实现DOM接口时可能存在差异,因此在进行跨浏览器开发时,应考虑使用像jQuery、Prototype这样的库来确保代码的兼容性和一致性。此外,随着ECMAScript新版本的发布,如ES6中引入了`...

    ie js实现圆角

    首先,我们要明白,JavaScript可以通过修改DOM元素的样式属性来模拟圆角效果。在非IE浏览器中,我们可以直接使用CSS3的`border-radius`属性,但在IE6-8中,我们需要借助其他方法。以下介绍四种常见的JavaScript或...

    jquery动态改变onclick属性导致失效的问题解决方法

    当使用".attr()"方法改变" onclick "属性时,实际上是在修改DOM元素的属性(attribute),而并非事件处理器(event handler)。在一些旧版浏览器中,这样直接修改可能并不会如预期那样注册新的事件处理器。为了解决...

    jquery动态图片切换与导航菜单二合一

    1. **选择器和属性操作**:jQuery通过选择器(如ID选择器、类选择器等)定位DOM元素,并可以改变其属性,如`src`属性,以实现图片的切换。例如,我们可以为每张图片分配不同的类名,然后通过点击事件来切换图片的`...

    jquery1.4.1使用手册

    1. **选择器**:jQuery的选择器是其强大之处,允许开发者使用CSS1、CSS2甚至CSS3的选择器来选取DOM元素。例如,`$("#id")`选取ID为指定值的元素,`$(".class")`选取所有类名为指定值的元素,`$("tag")`选取所有指定...

    jquery-3.5.1.zip

    1. **动态操作DOM**:通过jQuery,可以轻松实现元素的增删改查,如动态添加表格行或修改元素属性。 2. **事件处理**:利用jQuery的事件绑定功能,可以实现复杂的用户交互,如表单验证、下拉菜单展开等。 3. **Ajax...

    jquery上下滚动插件

    6. **兼容性处理**:确保在各种浏览器(尤其是老版本的IE)中都能正确运行,可能需要使用jQuery的`.browser`方法或Modernizr等工具检测浏览器特性。 在压缩包中的`test.html`文件很可能是插件的示例页面,用于演示...

Global site tag (gtag.js) - Google Analytics