jQuery keyup或点击没有立即响应,为什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery keyup或点击没有立即响应,为什么?相关的知识,希望对你有一定的参考价值。

我有一排数量的输入,我总计。我有它工作,但似乎有价格总额出现时滞后!

数量总和很有效。点击,标签或使用数字输入选择箭头后,价格总和似乎发生了,虽然不是每次!我在.on函数中使用“keyup”和“click”。

无论如何,要使数量求和的方式有效吗?

的jsfiddle https://jsfiddle.net/Bigfootbud1/ht573vps/7/

**THIS PRICE SUMMING CODE BELOW DOES NOT RESPOND RIGHT AWAY!**
// ********** LADIES PRICE TOTALS **********
$(document).on('click keyup', '.item1l', function() {
$('.item1l').each(function() {
var qty = parseInt($('.item1ltotal').val(), 10);
var price = parseFloat($('.price').text());
$('#total').text((qty * price ? qty * price : 0).toFixed(2));
});
});

**THIS CODE BELOW WORKS GREAT FOR SUMMING QUANTITY TOTALS - NICELY 
RESPONSIVE - NO ISSUES WITH IT**
// ********** LADIES QUANTITY TOTALS **********
$(document).on('click keyup', ".item1l", function() {
var sum = 0;
$(".item1l").each(function() {
    sum += +$(this).val();
});
$(".item1ltotal").val(sum);    
});
答案

那是因为你正在分离响应相同事件的东西。把它们放在一起

    $(document).on('click keyup', '.item1l', function() {
      $('.item1l').each(function() {
        // **THIS PRICE SUMMING CODE BELOW DOES NOT RESPOND RIGHT AWAY!**
        // ********** LADIES PRICE TOTALS **********
        var qty = parseInt($('.item1ltotal').val(), 10);
        var price = parseFloat($('.price').text());
        $('#total').text((qty * price ? qty * price : 0).toFixed(2));

        //   SUMMATION OF CATEGORY QTY TOTALS
        // ********** LADIES QUANTITY TOTALS **********
        var sum = 0;
        $(".item1l").each(function() {
          sum += +$(this).val();
        });
        $(".item1ltotal").val(sum);
      });
    });

https://jsfiddle.net/luenib/k2nj6d8w/

以上是关于jQuery keyup或点击没有立即响应,为什么?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 自动完成 KEYUP vs KEYPRESS vs KEYDOWN

在 JS/jQuery 中触发 keypress/keydown/keyup 事件?

在我点击输入或提交之前,jQuery 验证器不会触发

jquery:在 keyup 上执行此操作,除非该人在文本区域或输入中

jquery 键盘事件 keypress() keydown() keyup()

Jquery点击事件出发顺序