为两种类型的事件调用相同的函数

时间:2016-02-25 17:12:15

标签: jquery

代码计算服务列表的总价格。我为每个服务都有一个输入标签。修改服务价格后,将计算总价。

$(document).on('change key paste keyup', '[id^="bill_servicesPerformed"][id$="unitPrice"]', function() {

  //here the code to calculate the total price
}

现在我想计算从列表中删除其中一个服务的总数。如何重复使用代码计算总价?

注意:当然,在每个服务旁边,我都有一个类" remove-service"的链接。

3 个答案:

答案 0 :(得分:0)

删除后,您必须手动启动该逻辑。目前,直到Observers被更广泛地实施,没有一种很好的方法来检测是否已经从DOM添加/删除了元素并因此做了一些事情。当然,据我所知,这是。

答案 1 :(得分:0)

为您的函数命名。然后你可以打电话给它。只有当您需要将其作为参数传递一次时,匿名函数才有用。

示例:

function updatePrices() {
  //here the code to calculate the total price
}


$(document).on('change key paste keyup', '[id^="bill_servicesPerformed"][id$="unitPrice"]', updatePrices);

$(document).on('click', 'a.remove-service', updatePrices);

答案 2 :(得分:0)

var calculateTotalPrice = function() {
    //calculator algorithm here
}

$(document).on('change key paste keyup', '[id^="bill_servicesPerformed"][id$="unitPrice"]', calculateTotalPrice);

$('a.remove-service-link').click(function(e) {
    // to prevent run the a href
    e.preventDefault();

    // your remove service code here

    // then call calculate function
    calculateTotalPrice();
});