前言
工作中经常遇到这种情况:验证邮箱页面的重新发送需要在3分钟后才可以点击触发请求,所以在这之前需要禁用他的点击。
网上查了后有以下几种实现方法
1.css禁用鼠标点击事件
.disabled { pointer-events: none; }
注:(这个没有试过)
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\', \'#\');
|
07 |
$(this).click(function (event) {
|
08 |
event.preventDefault();
|
1 |
$(\'a.tooltip\').live(\'click\', function(event) {
|
3 |
event.preventDefault();
|
2 |
$(\'.disableCss\').removeAttr(\'href\');
|
3 |
$(\'.disableCss\').removeAttr(\'onclick\');
|
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交流,博客不会天天登