js/jquery 禁用点击事件

前言

工作中经常遇到这种情况:验证邮箱页面的重新发送需要在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', '#');     //修改<a>的 href属性值为 #  这样状态栏不会显示链接地址 
07                $(this).click(function (event) {
08                    event.preventDefault();   // 如果<a>定义了 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()方法简介:

 

 微信公众号 ,欢迎关注

 另外    651308349   为个人前端技术交流群,欢迎大家加入,有问题可以QQ交流,博客不会天天登

 

转载于:https://www.cnblogs.com/nana-share/p/4886340.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值