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

  刚才在写一个界面,其中为了考虑背景图片的缘故,所以没用Button而是用的a标签

  在点击之后应该禁用掉a元素,禁用对于button比较容易,加一个disabled就可以了

  但是对于a却没有太好的办法,总不能把href="",更何况我是走的onclick函数

  所以百度了一下,然后看到有用遮罩实现的,源代码有bug,然后按照它的思路自己重写了一下

  ---------

  下面粘一下代码吧,这个遮罩层实现法其实就是在当前元素外wrap一个层,层内增加一个z-index比较大的透明层,直接罩住原来的元素

 /*遮罩层代码
作用:通过遮罩层的方式防止表单提交次数过多
*/
function MaskIt(obj){
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>';
$(obj).wrap('<div class="position:relative;"></div>');
$(obj).before(hoverdiv);
$(obj).data("mask",true);
}
function UnMaskIt(obj){
if($(obj).data("mask")==true){
$(obj).parent().find(".divMask").remove();
$(obj).unwrap();
$(obj).data("mask",false);
}
$(obj).data("mask",false);
}

    调用方法就很简单了,比如说现在有个<a id="test1">点我啊</a>

    直接就可以:

        MaskIt($('#test1'));

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

    

    就这么多,匿了

上一篇:Accessibility应用之focus篇


下一篇:Grunt插件之LiveReload 实现页面自动刷新,所见即所得编辑