阻止click點選事件
阿新 • • 發佈:2019-02-08
網上查了後有一下幾種實現方法
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(){
//事件執行程式碼
}