`
lgstarzkhl
  • 浏览: 328996 次
  • 性别: 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插件使用方法大全

    attribute(改进了.attr()的性能)、jQuery()核心函数、CSS(.css()性能有两倍提升)、特效和事件、DOM操作等也有显著改进 1.5 美国时间1月31日John Resig在jQuery官方博客发表文章,宣布jQuery 1.5正式版已经如期...

    JS选取DOM元素的简单方法

    摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 今天试了下各种选取元素的方法的速度,用原生的方法...

    超实用的jQuery代码段

    全书分为11章,包含网页效果、DOM元素与属性、HTML事件、CSS样式、用户输入自动完成、拖放、图形图像、AJAX、算法、jQuery Mobile应用、浏览器、Cookies等jQuery技术内容,对提高网站开发人员和设计人员的jQuery技术...

    从零开始学习JQuery

    有了jQuery我们将从这个噩梦中醒来, 比如在jQuery中的Event事件对象已经被格式化成所有浏览器通用的, 从前要根据event获取事件触发者, 在ie下是event.srcElements 而ff等标准浏览器下下是event.target. jQuery则...

    50个必备的实用jQuery代码段

    28. 如何把已创建的元素动态地添加到DOM中: 8 29. 如何限制“Text-Area”域中的字符的个数: 8 30. 如何为函数创建一个基本的测试 8 31. 如何在jQuery中克隆一个元素: 9 32. 在jQuery中如何测试某个元素是否可见 9...

    HTMLSpy+jQuery文档

    HTMLSpy IE网页DOM查看工具,可以方便查看IE DOM元素的ID及属性设置 jQuery-1.11.2.js jQuery未压缩脚本文件 jQuery1.11.0_20140330.chm jQuery中文文档

    jQuery实现点击除了特定div的页面其它地方,隐藏该div功能。

    直接为DOM元素添加事件处理程序时,event对象作为window对象的一个属性存在。 event对象包含了一个重要属性:target(W3C)/srcElement(IE),这个属性标识了触发事件的原始元素,思路二就是要利用这个属性。我们可以...

    jQuery完全实例.rar

    elements (Element, Array) : 用于封装成jQuery对象的DOM元素 示例 设置页面背景色。 jQuery 代码: $(document.body).css( "background", "black" ); -------------------------------------------------------...

    使用jQuery解决IE与FireFox下createElement方法的差异

    当我们需要动态生成DOM对象的时候,会使用createElement的方法创建。但是在IE和Firefox下,createElement方法是有差异的。 在 IE 中,可以使用以下两种方式来创建一个元素: 1、document.createElement(‘table’) 2...

    浅谈jquery采用attr修改form表单enctype不起作用的问题

    做文件上传,需要将表单元素的enctype设置为’multipart/form-data’,用jquery的attr方法在目前较新的主流浏览器上测试均可成功,唯独IE下死活不行。后来查阅ie浏览器6,7,8(9+由于开发机为xp,未进行测试)不支持...

    jquery-1.1.3 效率提高800%

    选择器速度提升 选择器的速度大幅度提高了,下表为jQuery1.1.2和1.1.3的选择器速度对比,提高了8倍多 Browser jQuery 1.1.2 jQuery 1.1.3 % Improvement IE 6 4890ms 661ms 740% Firefox 2 5629ms 567...

    You-Dont-Need-jQuery:如何执行查询,样式,dom,ajax,事件等示例,例如带有普通javascript的jQuery

    同时,由于前端库(例如React,Angular和Vue)的普及,直接操作DOM成为反模式,因此jQuery的使用从未如此重要。 该项目总结了IE 10+支持的jQuery方法的本机Javascript实现中的大多数替代方法。 注意:jQuery仍然是...

    jQuety1.3中文说明

    jQuery中的一切都基于这个函数,或者说都是在以某种方式使用这个函数。这个函数最基本的用法就是向它传递一个表达式(通常由 CSS 选择器组成),然后根据这个表达式来查找所有匹配的元素。 默认情况下, 如果没有...

    JSer开源脚本框架 v2.7 UTF-8.rar

    通过JSer,您可以便捷的使用DOM操作、CSS样式访问、属性读写、事件绑定、行为切换、动态载入、数据缓存、URL与AJAX等众多功能。 JSer开源脚本框架2.6 更新内容: 增加JSer对象的text(), text(string), replace...

    响应式开发HTML重组库Intention.js.zip

    Intention.js兼容目前所有主流的浏览器,包括IE 8,但值得注意的是,由于jQuery 2.x不再支持IE 6/7/8,所以建议在使用这些浏览器时,建议大家采用jQuery 1.x版本。 安装 在根据需求在页面引入脚本文件:  <!--...

    深入理解jQuery 事件处理

    这包括一些细节,比如在哪个元素上触发的事件、鼠标事件的坐标以及键盘事件中单击了哪个键。 2.事件冒泡 当触发 dom 树中一个元素上的事件时,事件模型会检查这个元素是否已经创建了特定的事件处理器。如果是,就会...

    03-JavaScript工具箱.rar

    IE、Firefox、Opera和Safari的JavaScript兼容性...JavaScript DOM1.O参考手册.chm Javascript W3C参考手册.chmJavaScript_元素定位图.gifJavaScript函数速查手册.pdfJavascript核心对象参考手册.chm JavaScript缓动...

    JavaScipt选取文档元素的方法(推荐)

    摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 选取文档元素的方法: 1、通过ID选取元素...

    jquery.parallax-scroll:垂直页面滚动时的平滑视差效果

    使用将属性'data-parallax'添加到所需的dom元素,该包含要设置动画的optionnals参数和属性。 参数 from-scroll :动画开始的垂直滚动位置(默认值:当元素可见时) distance :动画将持续垂直滚动位置的距离...

    truncate.js:一个用于HTML截断和切换的jQuery插件

    CSS3属性“ text-overflow”只能截断一行文本,而IE7和更低版本不支持。特征HTML截断为指定的行数,包括环绕其他浮动元素HTML。 深度HTML截断并保留所有非type3(文本)节点截断后缀的可选规范,例如… 使用可配置...

Global site tag (gtag.js) - Google Analytics