阻止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', '#');

            //修改的 href属性值为 # 这样状态栏不会显示链接地址 
            $(this).click(function(event) {
                event.preventDefault();
                // 如果定义了 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(){
//事件运行代码
}

你可能感兴趣的:(web前端技术)