js实现单击事件和双击事件

js实现单击事件和双击事件

目的

1.希望通过单击事件调用ajax方法
2.希望通过双击事件修改选中的对象的背景色,从而获取选中的对象

思想

1.首先设置一个状态值为false
2.点击的时候,判断状态值是true还是false,如果是false表示第一次点击,将false转为true,同时开启定时器,定时0.25秒,如果0.25秒后没有第二次点击,那么执行单击函数,并将状态值改为false
3.点击的时候,如果判断状态值是true,那么是0.25秒内的第二次点击,清除定时器,同时设置状态值为false

代码实现

 //设置定时对象
    var timer;
    $('#rooms').children().click(function(){
		var id=$(this).children().attr("id");
	
		if(id!=undefined){
			if(clickLable){
			//双击事件
				//清除定时
				clearTimeout(timer);
				//双击函数的处理过程--开始
				var classroomColor="zkt"+id;
				if($("#"+classroomColor).css("backgroundColor")=="rgb(152, 245, 255)"){
					$("#"+classroomColor).css("backgroundColor","rgb(230, 230, 230)");
					delete mapColor[id];
				}else{
					$("#"+classroomColor).css("backgroundColor","rgb(152, 245, 255)");
					
					mapColor[id] = $("#"+classroomColor).text();
				}
				//双击函数的处理过程--结束
				
				clickLable = false;
			}else{
			//单击事件
				clickLable=true;
				
				//启动定时
				timer = setTimeout(function(){//初始化一个延时
			        clickLable=false;
			        //单击函数的处理过程--开始
					$.ajax({
						cache:false,
						type:'get',
						url:'goDataToPC',
						data:{"classroomid":id},
						dataType:"json",
						success:function(data){
							if(data.state==0){
								parent.layer.open({
									  title: '信息'
									  ,content: data.msg
									}); 
							}else{
								parent.layer.open({
									  title: '信息'
									  ,content: '请打开pc客户端重试'
									}); 
								}
							}
						})
					//单击函数的处理过程--结束
			      },250)
			}
				

		}
	});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值