Javascript Js代码跳过单击事件后的第一行
根据我下面的代码,“处理”不是先追加,而是直接追加“保存”。我试图解决这个问题,但没有发现代码中有什么错误,它不工作,跳过了第一行“处理”Javascript Js代码跳过单击事件后的第一行,javascript,jquery,Javascript,Jquery,根据我下面的代码,“处理”不是先追加,而是直接追加“保存”。我试图解决这个问题,但没有发现代码中有什么错误,它不工作,跳过了第一行“处理” $(“#ac#U提交,#另存为#U草稿”)。单击(功能(e){ $('另存为'草稿')。追加('处理'); $('form').find('invalid_field').removeClass('invalid_field'); var验证状态=0; $(“#委托书_字段”).empty(); $('input,textarea,select')。筛选器(
$(“#ac#U提交,#另存为#U草稿”)。单击(功能(e){
$('另存为'草稿')。追加('处理');
$('form').find('invalid_field').removeClass('invalid_field');
var验证状态=0;
$(“#委托书_字段”).empty();
$('input,textarea,select')。筛选器('required]')。每个(函数(){
if($(this).filter('[必需]).val()=''){
//console.log($(this.filter('[required]')).attr('name');
$(this).closest('.form group').addClass('has error has danger');
$('ac#u submit')。removeClass('disabled');
$('u#另存为'u草稿')。removeClass('disabled');
if($(this).closest('.hide_devices').hasClass('show_panel')==true){
$('#panel').addClass('invalid#field');
var matched_li=$(this).closest('div[id^=“tab_”]).attr('id');
$('li a[href=“#'+匹配的_li+'”).addClass('invalid_field');
}否则{
var divId=$(this).closest('.hide_devices').attr('id');
$('li a[div id=“”+divId+“]”)addClass('invalid_field'))
var action\u on\u li=divId.replace(/\d+/g',)
如果(操作i='cloneModBusInput'){
$('#mod__bus').addClass('无效的_字段')
}
如果(操作\u-on\u-li=='cloneSensorInput'){
$('#sen_uusor').addClass('无效字段')
}
如果(操作i='clonedRelayInput'){
$('re#u lay').addClass('invalid_field'))
}
}
$(“#强制_字段”).empty().html(“*缺少必填字段”);
验证状态=1;
$(this.addClass('disabled');
$(this.html(“”+$(this.text()+“”);
e、 预防默认值();
}
});
如果(验证状态==0){
$(“#委托书_字段”).empty();
$(this.addClass('disabled');
$(this.html('Saving');
}否则{
$(this.addClass('disabled');
$(this.html(“”+$(this.text()+“”);
}
});
请帮助我识别上述代码中的错误。这是因为您覆盖了“处理”:
$('save#u as_draft')。追加('Processing');
在这里:
$(this.html('Saving');
您的代码同步运行。您要做的是将一个元素附加到一个容器中,然后向下几行用新内容替换同一元素的整个html内容。结果就是你描述得到的结果
如果要在半秒钟内查看上一个内容,请执行以下操作:
var self = this;
setTimeout(function () {
if (validation_status == 0) {
$('#mandate_field').empty();
$(self).addClass('disabled');
$(self).html('<i class="fa fa-refresh fa-spin"></i> Saving');
}
}, 500);
var self=this;
setTimeout(函数(){
如果(验证状态==0){
$(“#委托书_字段”).empty();
$(self.addClass('disabled');
$(self.html('Saving');
}
}, 500);
我们也可以看到html吗?使用html甚至JSFIDLE或类似工具上的演示会容易得多。实际上,它不是保存按钮,但当我单击保存按钮时,它应该首先显示处理并执行进一步的代码,然后转到“保存”,但它作为保存按钮等待几秒钟,然后直接显示“保存”然后形成提交作品
$('#save_as_draft').append('<i class="fa fa-refresh fa-spin"></i> Processing');
$(this).html('<i class="fa fa-refresh fa-spin"></i> Saving');
var self = this;
setTimeout(function () {
if (validation_status == 0) {
$('#mandate_field').empty();
$(self).addClass('disabled');
$(self).html('<i class="fa fa-refresh fa-spin"></i> Saving');
}
}, 500);