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交流,博客不會天天登

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM