使用来自另一个jquery函数的函数(e)参数调用jquery函数

时间:2014-11-19 12:40:38

标签: javascript jquery

        $("#submitButton").click(function(e){
            e.preventDefault();

            if (!$('#formValidator').data('bootstrapValidator').isValid()) 
                $('#formValidator').bootstrapValidator('validate');
            if  (!$('#jobValidator').data('bootstrapValidator').isValid())
                $('#jobValidator').bootstrapValidator('validate');

            if(($('#formValidator').data('bootstrapValidator').isValid()) & ($('#jobValidator').data('bootstrapValidator').isValid()))
            {
                var clickButton = document.getElementById("<%=saveButton.ClientID %>");
                clickButton.click();
            }
        });

        $(document).keypress(function(e) {
            if(e.which == 13) {

                $("#submitButton").click();
            }
        });

我希望$(document).keypress(function(e)在页面上捕获输入密钥以调用$(document).keypress(function(e)来验证我的表单并调用我的代码。

我的两个功能都是自己工作的,我只是不知道如何从输入键功能调用我的按键点击功能。可能是因为我必须通过(function(e)并且我无法弄清楚如何。 欢呼声。

2 个答案:

答案 0 :(得分:3)

您可以在变量中保存对函数的引用,并将该引用传递给jQuery,而不是传递匿名函数。例如:

var validateFunc = function(e) {
    e.preventDefault();

    if (!$('#formValidator').data('bootstrapValidator').isValid()) 
        $('#formValidator').bootstrapValidator('validate');
    if  (!$('#jobValidator').data('bootstrapValidator').isValid())
        $('#jobValidator').bootstrapValidator('validate');

    if(($('#formValidator').data('bootstrapValidator').isValid()) & ($('#jobValidator').data('bootstrapValidator').isValid()))
    {
        var clickButton = document.getElementById("<%=saveButton.ClientID %>");
        clickButton.click();
    }
};

$("#submitButton").click(validateFunc);

$(document).keypress(function(e) {
    if(e.which == 13) {
        validateFunc(e);
    }
});

答案 1 :(得分:0)

你必须触发点击事件

$( "#submitButton" ).trigger( "click" );