![](/img/trans.png)
[英]jQuery blur() or focusout() not firing in Internet Explorer
[英]jquery do double firing code on Focusout in function
我对 jquery 有疑问,我需要让输入焦点上的每个事件都消失
这是我的 code.js
var checkFocusout = "";
$("input").on("focusout", function(){
checkFocusout = $(this).attr('name');
console.log(checkFocusout);
});
这是我在浏览器中的控制台
应该是这样的。
但是,我将值输入到第二个输入
而这个控制台在浏览器上。
在控制台中应该做一次,但它会加倍
我的 html
<div class="col-md-6">
<div class="form-group row"><label class="col-sm-4 col-form-label">Number of Adult</label>
<div class="col-sm-8"><input type="number" name="noa_2" class="form-control text-right" value="0"
onchange="calculatePrice(2)" price="111"></div>
</div>
<div class="form-group row"><label class="col-sm-4 col-form-label">Number of Child</label>
<div class="col-sm-8"><input type="number" name="noc_2" class="form-control text-right" value="0"
onchange="calculatePrice(2)" price="222"></div>
</div>
<div class="form-group row"><label class="col-sm-4 col-form-label">Number of Infant</label>
<div class="col-sm-8"><input type="number" name="noi_2" class="form-control text-right" value="0"
onchange="calculatePrice(2)" price="0"></div>
</div>
<div class="form-group row"><label class="col-sm-4 col-form-label">Discounts</label>
<div class="col-sm-8"><input type="number" name="d_2" class="form-control text-right" value="0"
onchange="calculatePrice(2)"></div>
</div>
<div class="form-group row"><label class="col-sm-4 col-form-label">Total</label>
<div class="col-sm-8"><input type="number" name="t_2" readonly="" class="form-control text-right"></div>
</div>
<div class="form-group row"><label class="col-sm-4 col-form-label">Vat</label>
<div class="input-group col-sm-8">
<div class="input-group-prepend">
<div class="input-group-text">%</div>
</div>
<input type="number" name="v_2" class="form-control text-right" value="7" onchange="calculatePrice(2)">
</div>
</div>
<div class="form-group row"><label class="col-sm-4 col-form-label">Net Total</label>
<div class="col-sm-8"><input type="number" name="nt_2" readonly="" class="form-control text-right"></div>
</div>
</div>
我的完整 function javascript
function calculatePrice(product_id) {
var noa = parseInt($('input[name="noa_'+product_id+'"]').val());
var noc = parseInt($('input[name="noc_'+product_id+'"]').val());
var noi = parseInt($('input[name="noi_'+product_id+'"]').val());
var total_pax = (noa+noc+noi)+parseInt(available_of_product[product_id]);
var vat = parseInt($('input[name="v_'+product_id+'"]').val());
var t = parseInt($('input[name="t_'+product_id+'"]').val());
var nt = parseInt($('input[name="nt_'+product_id+'"]').val());
var public_adult = parseInt($('input[name="noa_'+product_id+'"]').attr('price'));
var public_child = parseInt($('input[name="noc_'+product_id+'"]').attr('price'));
var public_infant = parseInt($('input[name="noi_'+product_id+'"]').attr('price'));
var number_of_pax = $("#available_span_"+product_id).attr('number_of_pax');
var checkFocusout = "";
$("input").on("keyup", function(){
checkFocusout = $(this).attr('name');
console.log(checkFocusout);
});
if (total_pax > number_of_pax){
$("#alertMessageBody").html('<p>The number of passengers exceeds the maximum number of products.</p>');
$('#alertMessage').modal('show')
}else{
}
}
你可以这样做
$("input").unbind().on("focusout", function(event){
console.log(i)
checkFocusout = $(this).attr('name');
console.log(checkFocusout);
i=i+1
});
我希望它对你有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.