1. 程式人生 > >阻止click點選事件

阻止click點選事件

網上查了後有一下幾種實現方法

1.css禁用滑鼠點選事件

.disabled { pointer-events: none; }
注:(這個沒有試過)

2.直接使用阻止事件的進行

                         e.stopPropatation||e.cancelBubble = true

jquery 禁用a標籤 方法1

$(document).ready(function() {
    $("a").each(function() {
        var textValue = $(this).html();
        if (textValue == "XX概況"
|| textValue == "服務導航") { $(this).css("cursor", "default"); $(this).attr('href', '#'); //修改<a>的 href屬性值為 # 這樣狀態列不會顯示連結地址 $(this).click(function(event) { event.preventDefault(); // 如果<a>定義了 target="_blank“ 需要這句來阻止開啟新頁面
}); } }); });

jquery 禁用a標籤 方法2

$('a.tooltip').live('click', function(event) {
    alert("抱歉,已停用!");
    event.preventDefault();
});

jquery 禁用a標籤 方法3

$(function() {  $('.disableCss').removeAttr('href'); //去掉a標籤中的href屬性     $('.disableCss').removeAttr('onclick'); //去掉a標籤中的onclick事件  
});

jquery控制按鈕的禁用與啟用
控制按鈕為禁用:

$('#button').attr('disabled', "true");
新增disabled屬性 
$('#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(){
//事件執行程式碼
}