js/jquery/css 禁用点击事件

js/jquery/css 禁用点击事件


> 工作中遇到这种情况: 验证邮箱 页面的重新发送需要在3分钟后才可以点击重新发送,所以在这之前需要禁用他的点击

==我网上查了后有一下几种实现方法==

1.css禁用鼠标点击事件

.disabled { pointer-events: none; }
//简单方便 鼠标呈现普通指针状,但是***失去***了点击事件

jquery禁用a标签方法1

01  $(document).ready(function () {
02          $("a").each(function () {
03              var textValue = $(this).html();
04              if (textValue == "XX概况" || textValue == "服务导航") {
05                  $(this).css("cursor", "default");
06                  $(this).attr('href', '#');     //修改的 href属性值为 #  这样状态栏不会显示链接地址  
07                  $(this).click(function (event) {
08                      event.preventDefault();   // 如果定义了 target="_blank“ 需要这句来阻止打开新页面
09                  });
10              }
11          });
12  });

jquery禁用a标签方法2

1   $('a.tooltip').live('click', function(event) {
2      alert("抱歉,已停用!");  
3     event.preventDefault();   
4   });
jquery禁用a标签方法3

1   $(function(){
2   $('.disableCss').removeAttr('href');//去掉a标签中的href属性
3   $('.disableCss').removeAttr('onclick');//去掉a标签中的onclick事件
4   });

jquery控制按钮的禁用与启用

控制按钮为禁用:

1   $('#button').attr('disabled',"true");添加disabled属性
2   $('#button').removeAttr("disabled");
      //移除disabled属性

live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。

++问题:使用jQuery的live()方法绑定事件,有时会出现重复绑定的情况,如,当点击一个按钮时,此按钮所绑定的事件会并执行n遍。++

==解决:使用die()方法,在live()方法绑定前,将此元素上的前面被绑定的事件统统解除,然后再通过live()方法绑定新的事件。==

Js代码


//先通过die()方法解除,再通过live()绑定
$("#selectAll").die().live("click",function(){
//事件运行代码
});
//先通过die()方法解除,再通过live()绑定
$("#selectAll").die().live("click",function(){
//事件运行代码
});
die()

你可能感兴趣的:(web前端技术,javascript)