根据类名切换 event.preventDefault

Toggle event.preventDefault based on classname

我想根据 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
});

试试这个:

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

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

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

如果 disabled class 是动态应用的,您必须使用 hasClass().[=16 检查点击的 link 是否有 class =]

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

        // return false; // Use when no action should be performed
    } else {
        // Handle event
        ...
    }
});
<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
});