每当我第二次单击"#print"按钮时,第一次单击的值将在实际值之前打印出来.
例如:我第一次点击按钮.警告框打印出正确的值('test1').
我第二次点击按钮.警报框打印出第一个值('test1'),然后我按OK,然后在此之后,警告框打印出第二个值('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();
});
});
Run Code Online (Sandbox Code Playgroud)
您正在注册多个事件,这就是您看到多个操作的原因!你看到了吗?:)我有类似的情况,我花了一段时间来挑选出来.您可以在发出旧事件之前取消注册旧事件.
$(".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();
});
});
Run Code Online (Sandbox Code Playgroud)
这应该可以解决您的问题.使用off将取消注册旧事件.
| 归档时间: |
|
| 查看次数: |
845 次 |
| 最近记录: |