当前位置: 代码迷 >> Web前端 >> jquery运用记录
  详细解决方案

jquery运用记录

热度:239   发布时间:2012-11-22 00:16:41.0
jquery使用记录

?

?

1.绑定对象的事件方法,下面代码为一个点击删除事件

		$(function(){
				$(".my_del").click(function(event){
					var target = event.target;//获取当前点击事件的元素
					var key = jQuery(target).attr("key");//取当前点击事件元素的属性
					alert(key);
					var msg = "";
				        var url = '<%=request.getContextPath()%>/cmsconfig/my_update.jsp?type=3';
					$.ajax(
					{
				    	url:url,
				    	type:'post',
				    	asyn: false,
				    	data:
				    	{
				    		key:key
				    	},
				    	success:function(json)
				    	{
				    		try{
					    		var code;
					    		eval("code="+json);
					    		msg = "更新成功!";
					    		alert("code="+code);
					    		if(code == null || code.msg != true)
					    		{
					    			var c = ((code != null) ? code.code : "null");
					    			msg="更新失败failed("+c+")!";
					    		}
					    		else
					    		{
					    			msg = "更新成功ok!";
                                                                //查找出点击事件元素的父节中点为tr的元素,并删除之
?                                                               var parents = jQuery(target).parents("tr");
						    		if(parents != null)
						    		{
						    			parents.remove();
						    		}	
					    		}
					    		jQuery("#msg").html(msg);
					    		jQuery("#msg").show();
					    		window.setTimeout("msgTip()", 2000);
					    	}catch(e){
					    		alert("#my_del success 有异常:"+e);
					    	}	
				    	},
				    	error:function()
				    	{
			    			msg = "网络调用失败!";
			    			jQuery("#msg").html(msg);
				    		jQuery("#msg").show();
				    		window.setTimeout("msgTip()", 2000);
				    	}
				    }
				    );//end of $.ajax
			   	});
			});

?2.绑定多个元素时,最好是以class 为查到对象,如果用id会导致只绑定一个元素.多个class以空格分开.下面例子中的my_del是新增加的,没有样式效果,纯粹为了绑定删除函数.

<button class="my_del button orange" key="<%=key%>" onclick='return false;'>删除</button>
?

3.json格式

错误格式:{msg:true}

正确格式:{"msg":true}代表msg为bool类型 或者{"msg":"true"} msg为字符类型

后台解释json格式的方法:

					    		var code;
					    		eval("code="+json);
或者
					    		eval("var code="+json);

?

?

4.append一个元素后,新的元素的事件不会被绑定的问题.

解决办法,使用jquery的live方法:

   $(function(){
				$(".my_del").live("click",function(event){
					....
			   	});
			});
?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

  相关解决方案