【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'));

    就可以加上遮罩了,解罩也是一樣。

    

    就這么多,匿了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM