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()