首页 > 代码库 > 【js & jquery】遮罩层实现禁止a、span、button等元素的鼠标事件

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

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

    

    就这么多,匿了