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', '#');     //修改<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()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的健身转盘抽奖系统的示例代码: HTML部分: ``` <div id="roulette"> <div class="roulette-container"> <div class="roulette-item item-1"><span>奖项1</span></div> <div class="roulette-item item-2"><span>奖项2</span></div> <div class="roulette-item item-3"><span>奖项3</span></div> <div class="roulette-item item-4"><span>奖项4</span></div> <div class="roulette-item item-5"><span>奖项5</span></div> <div class="roulette-item item-6"><span>奖项6</span></div> <div class="roulette-item item-7"><span>奖项7</span></div> <div class="roulette-item item-8"><span>奖项8</span></div> </div> <button id="start">开始抽奖</button> </div> ``` CSS部分: ``` #roulette { text-align: center; } .roulette-container { margin: 0 auto; position: relative; width: 300px; height: 300px; } .roulette-item { position: absolute; width: 100%; height: 100%; border-radius: 50%; box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); transform-origin: center center; display: flex; justify-content: center; align-items: center; } .item-1 { background-color: #FF0000; transform: rotate(0deg); } .item-2 { background-color: #FFA500; transform: rotate(45deg); } .item-3 { background-color: #FFFF00; transform: rotate(90deg); } .item-4 { background-color: #008000; transform: rotate(135deg); } .item-5 { background-color: #0000FF; transform: rotate(180deg); } .item-6 { background-color: #4B0082; transform: rotate(225deg); } .item-7 { background-color: #EE82EE; transform: rotate(270deg); } .item-8 { background-color: #FF1493; transform: rotate(315deg); } #start { margin-top: 20px; padding: 10px 20px; background-color: #008CBA; color: #FFFFFF; border: none; border-radius: 5px; cursor: pointer; } ``` JavaScript部分: ``` $(function() { var $roulette = $('#roulette'); var $startBtn = $('#start'); var $rouletteContainer = $('.roulette-container'); var $rouletteItems = $('.roulette-item'); var itemLength = $rouletteItems.length; var active = false; $startBtn.on('click', function() { if (active) { return; } active = true; var item = Math.floor(Math.random() * itemLength); var deg = item * (360 / itemLength) + (360 / itemLength) / 2; $rouletteContainer.css({ transform: 'rotate(' + deg + 'deg)', transition: 'all 5s cubic-bezier(0.25, 0.1, 0.25, 1)' }); setTimeout(function() { alert('恭喜您抽中了' + $rouletteItems.eq(item).text() + '!'); $rouletteContainer.css({ transform: 'rotate(0deg)', transition: 'none' }); active = false; }, 5500); }); }); ``` 这个示例代码使用了jQuery库来简化一些操作。当点“开始抽奖”按钮时,它会随机选择一个奖项,并将转盘旋转到该奖项。等待5秒钟后,它会弹出一个提示框,告诉用户他们抽中了哪个奖项。在5秒钟的过渡期间,该按钮将被用,以防止用户再次点并中断转盘旋转。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值