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

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

    

    就这么多,匿了

时间: 2024-08-07 16:47:56

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

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

/*遮罩层代码 作用:通过遮罩层的方式防止表单提交次数过多 */ 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;"

纯js制作遮罩层对话框 -- g皓皓

//本文支持js在线工具测试.转载请注明出处. <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> <title>UntitledDocument</title> <script> func

jQuery遮罩层插件

在网页上经常遇到需要等待很久的操作,比如导出报表等.为了预防用户点击其他操作或者多次点击同个功能,需要用遮罩层把页面或者操作区盖住,防止用户进行下一步操作,同时可以提高界面友好度,让用户知道操作正在执行. $.fn.extend({ /** * 给元素添加遮罩层 * @param message {String} [可选]遮罩层显示内容 */ mask: function (message) { var $target = this, fixed = false, targetStatic =

弹出遮罩层后禁止滚动效果

弹出遮罩层后,手指在手机上上下滑动 遮罩层下的页面出现滑动.下面代码解决这个问题 (1)触摸后不产生事件 //遮罩层禁止滚动 $('.searbox_mask_byInteg').bind("touchmove", function (e) { e.preventDefault(); }); (2)body不出现滚动条 $("body,.main").height($(window).height()).css({ "overflow-y": &

jquery遮罩层

(function () { //遮罩层实现 zhe zhao ceng kexb 2016.2.24 $.extend($.fn, { mask: function (msg, maskDivClass) { this.unmask(); // 参数 var op = { opacity: 0.8, z: 10000, bgcolor: '#ccc' }; var original = $(document.body); var position = { top: 0, left: 0 };

jquery 遮罩层显示img

如果点击iframe中的image显示整个页面的遮罩层,可参考如下: http://blog.csdn.net/shiaijuan1/article/details/70160714 具体思路就是,顶层添加dom对象,用来显示信息,默认隐藏,需要时在iframe中调用,宽高设置为100%. 实现如下: //遮罩层 .showmask { position: fixed; z-index: 99; width: 100%; height: 100%; background-color: silve

jquery遮罩层的实现

首先,实际上新的窗口并不是创建出来再弹出来,而是将原本隐藏的重新显示出来. html结构如下: <div> <!-->页面内容<--> </div> <div class="mask"> <!-->蒙版<--> </div> <div class="toDisplay"> <!-->弹出层<--> </div> 点击Butt

JQuery 遮罩层弹窗

var str = "<div id=\"zhezhao\" style=\"display:none; background-color: rgba(0,0,0,0.3); width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; z-index: 9999;\">"; str += "<div id=\"tanchuang\"

弹出遮罩层后禁止底部页面滚动

stop(){ var mo=function(e){e.preventDefault();}; document.body.style.overflow='hidden'; document.addEventListener("touchmove",mo,false);//禁止页面滑动 }, /***取消滑动限制***/ move(){ var mo=function(e){e.preventDefault();}; document.body.style.overflow='';/