【js & jquery】遮罩层实现禁止a、span、button等元素的鼠标事件
刚才在写一个界面,其中为了考虑背景图片的缘故,所以没用Button而是用的a标签
在点击之后应该禁用掉a元素,禁用对于button比较容易,加一个disabled就可以了
但是对于a却没有太好的办法,总不能把href="",更何况我是走的onclick函数
所以百度了一下,然后看到有用遮罩实现的,源代码有bug,然后按照它的思路自己重写了一下
---------
下面粘一下代码吧,这个遮罩层实现法其实就是在当前元素外wrap一个层,层内增加一个z-index比较大的透明层,直接罩住原来的元素
1 /*遮罩层代码 2 作用:通过遮罩层的方式防止表单提交次数过多 3 */ 4 function MaskIt(obj){ 5 var hoverdiv = ‘<div class="divMask" style="position: absolute; width: 100%; height: 100%; left: 0px; top: 0px; background: #fff; opacity: 0; filter: alpha(opacity=0);z-index:5;"></div>‘; 6 $(obj).wrap(‘<div class="position:relative;"></div>‘); 7 $(obj).before(hoverdiv); 8 $(obj).data("mask",true); 9 } 10 function UnMaskIt(obj){ 11 if($(obj).data("mask")==true){ 12 $(obj).parent().find(".divMask").remove(); 13 $(obj).unwrap(); 14 $(obj).data("mask",false); 15 } 16 $(obj).data("mask",false); 17 }
调用方法就很简单了,比如说现在有个<a id="test1">点我啊</a>
直接就可以:
MaskIt($(‘#test1‘));
就可以加上遮罩了,解罩也是一样。
就这么多,匿了
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。