Javascript 从全局范围中删除var
在本例中,我有两个动作:Javascript 从全局范围中删除var,javascript,jquery,scope,Javascript,Jquery,Scope,在本例中,我有两个动作: 当您添加用户数量时,它将根据输入中的价格和总价自动计算 当您已经添加用户数量>计算总金额>如果您在输入中单击“欧元-总金额”,该金额将转换为欧元 所以,每件事都很好——但我不喜欢“有用性”具有全球范围! 你知道如何将其本地化并保存工作版本吗 尝试了类似于: $('#user-quantity').keyup(function(){ var userQuantity = parseInt($(this).val()); if( userQuantity
$('#user-quantity').keyup(function(){
var userQuantity = parseInt($(this).val());
if( userQuantity >=1 && userQuantity <=200){
valid(userQuantity);
} else {
$('#total-sum').val("error");
}
});
$('#usd').on('click', function(){
$('#eur').removeClass('greenChacked');
$(this).addClass('greenChacked');
valid(userQuantity);
});
$('#eur').on('click', function(){
$('#usd').removeClass('greenChacked');
$(this).addClass('greenChacked');
valid(userQuantity);
});
$('#usd').trigger('click');
function valid(userQuantity){
if( $('#usd').hasClass('greenChacked') ){
var usdCurr = userQuantity * 10 + 'doll';
$('#total-sum').val(usdCurr);
}
if( $('#eur').hasClass('greenChacked') ){
var eurCurr = userQuantity * 5 + 'eur';
$('#total-sum').val(eurCurr);
}
}
$('#用户数量').keyup(函数(){
var userQuantity=parseInt($(this.val());
如果(userQuantity>=1&&userQuantity在函数中定义变量(userQuantity)。它将通过关闭其他函数和回调而不具有全局作用域。请参阅此新函数
新代码的开头如下所示:
$(document).ready(function () {
var userQuantity;
$('#user-quantity').keyup(function () {
userQuantity = parseInt($(this).val());
if (userQuantity >= 1 && userQuantity <= 200) {
setCurrency();
} else {
$('#total-sum').val("error");
}
});
$(文档).ready(函数(){
var用户数量;
$(“#用户数量”).keyup(函数(){
userQuantity=parseInt($(this.val());
如果(userQuantity>=1&&userQuantity,您可以将代码包装在
更多信息
(function () {
var userQuantity;
$(document).ready(function () {
//rest of your code
};
}());