如何在jquery中定义函数?

Mik*_*ike 2 jquery function

我在下面的代码在jquery中的ready函数中运行得很好,当我填充表单并将焦点从input元素更改为另一个运行ajax检查并为元素分配css类时,显示是否已验证.一切还好.

id'喜欢用这个代码定义一个函数,所以我也可以在刚加载页面时调用它,所以如果表单填充在服务器端,并且模糊,我也会执行检查,但我遇到了定义函数的麻烦jQuery的.

这是在模糊上运行的代码

$('#join_username').blur(function(){
    $('#join_username').addClass(\"join_form_input_checking\");
    $('#join_username').removeClass(\"join_form_input\");      
    $('#join_username').removeClass(\"join_form_input_error\");      
    $('#join_username').removeClass(\"join_form_input_verified\");      


    $.post(\"inc/viewlets/join_form/check_username.php\", {
            join_username: $('#join_username').val()
            }, 
            function(response){
                    setTimeout(\"finishAjaxUsername('usernameResult', '\"+escape(response)+\"')\", 400);
        if(escape(response)=='true') joinFormCheck[0]=true;      
        else joinFormCheck[0]=false;

        checkFormArray(joinFormCheck);          
            }
          );              

    return false;
});
Run Code Online (Sandbox Code Playgroud)

Geo*_*dik 17

或者你可以使用常规函数语法

function do_on_blur(){
   // your base. I'm in it
}
Run Code Online (Sandbox Code Playgroud)

$("#join_username").blur( do_on_blur );
Run Code Online (Sandbox Code Playgroud)


typ*_*ror 15

只需定义一个函数,而不是传递blur()一个匿名函数:

$.myFunctionName = function()
{
   // your code here
}

$("#join_username").blur($.myFunctionName);
Run Code Online (Sandbox Code Playgroud)

如果您希望在响应事件(例如document.ready)时调用该函数,只需像调用普通函数一样调用它.

$(document).ready(function()
{
    // -- define your function
    $.myFunctionName = function()
    {
       //your code here
    }

    // -- add a callback to blur on an input
    $("#join_username").blur($.myFunctionName);

    // -- manually call the function once
    $.myFunctionName(); 
});
Run Code Online (Sandbox Code Playgroud)