首页 > 解决方案 > 如果页面有类,则停止函数

问题描述

我有一个简单的功能,可以将运输详细信息附加到我的 woocommerce 结帐中的帐单详细信息中。但是,一旦将类添加到 div,我希望此函数停止触发。

function billingclick() {
    $('#billing_first_name').val($('#shipping_first_name').val());
    $('#billing_last_name').val($('#shipping_last_name').val());    
};

$('.wpmc-ripple.wpmc-billing').on('click', function(e) {
    billingclick();
}); 

我不能使用一键式功能,因为验证会破坏这一点。

如果添加了 div 类,有没有办法可以停止该功能?

例如,如果 .wpmc-step-shipping 具有当前类,则停止 billingclick() 函数。

    if (!$(".wpmc-step-shipping").hasClass("current")) {
        // function here
    }

谢谢

标签: jqueryhtmlcss

解决方案


您似乎正在尝试删除点击处理程序。虽然这是可能的,但您需要确切地知道何时将类添加到相关元素,这并不总是可能的,也不简单。

一个更简单的解决方案是将您的if条件放在billingclick()函数中,并且仅val()在类不存在时更新所需元素的。尝试这个:

function billingclick() {
  if (!$(".wpmc-step-shipping").hasClass("current")) {
    $('#billing_first_name').val($('#shipping_first_name').val());
    $('#billing_last_name').val($('#shipping_last_name').val());
  }
};

$('.wpmc-ripple.wpmc-billing').on('click', billingclick);


推荐阅读