js怎么禁用一个事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎么禁用一个事件相关的知识,希望对你有一定的参考价值。

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()方法简介:
参考技术A 禁止html的默认事件还是什么???
event.preventDefault();这是阻止当前绑定元素的默认事件!

如何禁用a标签,是禁用事件,而不是啥阻止跳转之类的

参考技术A

你指的是禁用默认事件?

<a href="baidu.com">百度</a>

1.jQuery 阻止默认事件

$("a").click(function( event ) 
    event.preventDefault(); // 阻止默认事件
    event.stopPropagation(); // 阻止冒泡
);


2.javascript 

var elem = document.getElementByTagName("a");
elem.addEventListener("click",function(event)
    event.preventDefault(); // 阻止默认事件
    event.stopPropagation(); // 阻止冒泡
 ,false);


说明:

preventDefault();   // 阻止默认事件
stopPropagation();  // 阻止冒泡
return false;   // 既阻止默认事件 也阻止冒泡

参考技术B javascript:void(0) 这个不可以么?

以上是关于js怎么禁用一个事件的主要内容,如果未能解决你的问题,请参考以下文章

html 禁用鼠标滚轮对网页滚动条的控制怎么实现?

如何禁用a标签,是禁用事件,而不是啥阻止跳转之类的

js删除一个ID元素的点击事件

如何禁用鼠标双击事件

android 怎么禁用ListView的点击事件

js click事件防止重复点击