event.preventdefault() 在 jQuery 中不起作用



我有以下代码

$(document).on("click", ".create_new_sdf", function(e) {
var protocol = $(".prtcl").val();
var domain = $(".domain").val();
if (domain == ""){
alert("Domain should not be empty !");
return
}
var breakout = false;
var prdcn = $(".production").prop("checked");
$(".newly_added_row").each(function(index){
var wildcard = $(this).find('.worker_wildcard').val();
if (wildcard == ""){
alert("Worker wildcard should not be empty");
breakout = true;
}
});
if (breakout == true){
e.preventDefault();
}
$.ajax({
type: 'POST',
url: '/***/******/',
data:{******}
dataType: "json",
success: function(response){
console.log(response);
debugger;
window.location.reload();
},
error: function(){
},
});
});

实际上从上面的代码中,breakout变量是正确的,jquery 来到 if 循环,但它并没有停止e.preventDefault();并在下面的 ajax 函数中success method,这不应该发生,所以这里出了什么问题,为什么e.preventDefault(); 不起作用?

e.preventDefault()不会中断/返回函数调用。如果要完成函数执行,请调用return

if (breakout == true){
return;
}

相关内容

  • 没有找到相关文章

最新更新