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:在 keyup 上执行此操作,除非该人在文本区域或输入中