点击一个地方显示某个元素,点击其他地方隐藏某个元素实现

今天做工作的时候有一个需求,实现留言功能的业务,这个业务基本上是仿的是csdn博客的留言区功能。当点击留言文本域的时候呢发表留言的按钮会出现,点击其他的地方的时候留言按钮就会消失。

这个其实也很好实现,一开始没成功,原因是我竟然忘记了事件冒泡。。打脸打脸~所以整理了一下记录下。

首先写一下阻止事件冒泡的函数

function stopPropagation(e){

    if(e.stopPropagation){

    e.stopPropagation()//阻止非ie浏览器的时间冒泡

    }else{

    e.cancelBubble=true;//阻止ie冒泡事件

    }

}

我的业务是点击文本域的时候显示,点击页面其他地方的时候隐藏,也就是document的点击事件绑定隐藏的业务,所以呢,我这里要阻止的冒泡事件应该是点击文本域的时候阻止冒泡,因为如果冒泡到document,那点击文本域的时候也不会显示。

所以下面的代码就是文本域绑定的点击事件里阻止事件冒泡,其他按照业务来即可。

	$(".textarea").bind('click',function(e){ 
				stopPropagation(e);//调用停止冒泡方法,阻止document方法的执行
				$(this).css("height","120");
				$(".comment-btn").css("display","block")
			}); 
			$(document).bind('click',function(){ 
				$(".textarea").css("height","100");
				$(".comment-btn").css("display","none")
			}); 
好了,这样就实现了点击某一个地方显示某个元素,点击页面其他地方隐藏某个元素的业务了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值