我在这样的按钮上绑定 mousedown:
$(".save_btn").bind("mousedown", {PID: ParticipantID}, LicenseCheck);
在 LicenseCheck 函数中,我正在验证一些字段,如果验证失败,我调用 event.preventDefault,调用一个函数以显示错误消息并返回 false;如果验证成功,我返回 true。但事件并没有继续,它几乎就像它只是停止。
function LicenseCheck(event) {
var PID = event.data.PID;
var showError = false;
var c = null;
if($.trim($("#lname_"+PID).val()) != "") {
if($.trim($("#ln_"+PID).val()) == "") {
showError = true;
c = $("#ln_"+PID);
}
} else {
if($.trim($("#lname_"+PID).val()) == "") {
showError = true;
c = $("#lname_"+PID);
}
}
if ($('input[type=radio][name^="lt_'+PID+'"]:checked').length == 0) {
showError = true;
c = $('input[type=radio][id^="lt_'+PID+'"]')[0];
}
if(showError) {
ShowFormError(c, PID);
event.preventDefault;
return false;
} else {
return true;
}
}
function ShowFormError(control, PID) {
$parent = $("#p_div_"+PID);
var pos = control.position();
$arrows = $("<div>", {"class": "formErrorArrow"})
.append($("<div>", {"class": "line10", html: '<!-- -->'}))
.append($("<div>", {"class": "line9", html: '<!-- -->'}))
.append($("<div>", {"class": "line8", html: '<!-- -->'}))
.append($("<div>", {"class": "line7", html: '<!-- -->'}))
.append($("<div>", {"class": "line6", html: '<!-- -->'}))
.append($("<div>", {"class": "line5", html: '<!-- -->'}))
.append($("<div>", {"class": "line4", html: '<!-- -->'}))
.append($("<div>", {"class": "line3", html: '<!-- -->'}))
.append($("<div>", {"class": "line2", html: '<!-- -->'}))
.append($("<div>", {"class": "line1", html: '<!-- -->'}));
$item = $("<div>", {"class": "formError hidden", id: "form_error_"+PID})
.append($("<div>", {"class": "formErrorContent", html: "* This field is required<br>"}))
.append($arrows);
$parent.append($item);
$("#form_error_"+PID).css("top", pos.top-35);
$("#form_error_"+PID).css("margin-top", 0);
$("#form_error_"+PID).css("opacity", 0.87);
$("#form_error_"+PID).css("left", pos.left+control.width()+-30);
$("#form_error_"+PID).css("position", "absolute");
$("#form_error_"+PID).removeClass('hidden');
$("#form_error_"+PID).bind('click', function() {
$(this).addClass('hidden');
});
}
在没有 mousedown 处理程序的情况下单击它时,如何让它继续执行它应该做的事情?