根据classname切换event.preventDefault

时间:2016-04-26 05:54:58

标签: javascript jquery preventdefault

我想根据link元素的类名切换preventDefault方法。

示例:

<a href="#" class="myLink disabled">My link</a>

//TO-DO: enable click only when link doesn't have disabled class
$('.myLink').on('click', function() {
    //DO SOME STUFF
});

3 个答案:

答案 0 :(得分:3)

您可以在没有特定类的元素上绑定事件。使用:not()选择器,可以排除元素。

$('.myLink:not(.disabled)').on('click', function

如果动态应用disabled类,则必须使用hasClass()检查点击的链接是否包含该类。

$('.myLink').on('click', function(event) {
    if ($(this).hasClass('disabled')) {
        event.preventDefault();

        // return false; // Use when no action should be performed
    } else {
        // Handle event
        ...
    }
});

答案 1 :(得分:1)

试试这个:

$(".myLink:not(.disabled)").on('click', function() {
    //DO SOME STUFF
});

答案 2 :(得分:1)

<a href="#" class="myLink disabled">My link</a>

//TO-DO: enable click only when link doesn't have disabled class
$('.myLink').on('click', function(e) {
    if ($(this).hasClass('disabled') {
        e.preventDefault();
    }
    // do thomething
});