JQuery->事件继续

时间:2013-03-06 20:31:11

标签: jquery

我在这样的按钮上绑定了一个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处理程序的情况下单击它时,如何继续执行该操作?

1 个答案:

答案 0 :(得分:1)

$(this).trigger('click');

返回之前真正像魅力一样工作。