剛才在寫一個界面,其中為了考慮背景圖片的緣故,所以沒用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'));
就可以加上遮罩了,解罩也是一樣。
就這么多,匿了