gpt4 book ai didi

javascript - 变量保留旧值

转载 作者:行者123 更新时间:2023-11-30 08:57:58 25 4
gpt4 key购买 nike

每当我第二次单击“#print”按钮时,第一次单击的值会先于实际值打印出来。

例如:我第一次点击按钮。警告框打印出正确的值(“test1”)。

我第二次点击按钮。警告框打印出第一个值(“test1”),然后我按“确定”,紧接着,警告框打印出第二个值(“test2”)。

知道我做错了什么吗?

$(".ipdate").focus(function() {

/*$('.dateBox').hide();*/

var tit = $(this).attr('id');
/*var full = '#'+tit+'B';*/

$('#dateBox').show();

$('#print').on('click', function(){

var bottle = $('.sday').val()+' '+$('.smon').val()+' '+$('.syear').val();
$('#'+tit).val(bottle);
alert(tit);

});

$('#close').on('click',function() {

$('#dateBox').hide();

});
});

最佳答案

您正在注册多个事件,这就是您看到多个操作的原因!你看到了吗? :) 我有类似的情况,我花了一段时间才把它们挑出来。您可以在发布新事件之前取消注册旧事件。

   $(".ipdate").focus(function() {

/*$('.dateBox').hide();*/

var tit = $(this).attr('id');
/*var full = '#'+tit+'B';*/

$('#dateBox').show();

$('#print').off('click');
$('#print').on('click', function(){

var bottle = $('.sday').val()+' '+$('.smon').val()+' '+$('.syear').val();
$('#'+tit).val(bottle);
alert(tit);

});

$('#close').off('click');
$('#close').on('click',function() {

$('#dateBox').hide();

});



});

这应该可以解决您的问题。使用 off 将注销旧事件。

关于javascript - 变量保留旧值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com