如何在Jquery中使用函数?

时间:2015-06-05 11:24:16

标签: jquery

我试图在jQuery中创建一个函数

function Formulier1() {
     var usr_length = $(this).val().length;

     if(usr_length == 0){
          error.push("- Er is geen gebruikersnaam ingevuld." + "</br>");
     }
}

但是当我调用函数

$("#gebruikersnaam").focusout(function(){ 
     Formulier1();
});

他们无法看到更多代码

$("input").focusout(function(){
     alert("Doesnt comes here");
     $("#error").html('');
     if(error == ""){
          //do something
     }else{
          $('#error').append(error);

          error = [""];
     }
});

我忘记了要做的事情?或者我做错了什么? 当我把代码放在没有额外功能的情况下,但把它放到gebruikersnaam focusout时,它可以正常工作。

我想更多地使用代码Formulier1,这就是为什么我想要一个额外的功能!

3 个答案:

答案 0 :(得分:2)

您只需在回调中绑定函数名称

$("#gebruikersnaam").focusout(Formulier1);

如果您必须传递更多参数,请使用 call 功能

$("#gebruikersnaam").focusout(function(){ 
     Formulier1.call(this);
});

答案 1 :(得分:1)

您需要在Formulier函数中将$("#gebruikersnaam").focusout(function(){ Formulier1($(this)); }); function Formulier1($this) { var usr_length = $this.val().length; if(usr_length == 0){ error.push("- Er is geen gebruikersnaam ingevuld." + "</br>"); } } 作为参数传递。

例如:

Ext.define('App.model.MyModel', {
    extend: 'Ext.data.Model',
    // etc
    proxy: {
        type: 'rest',
        url: '/someurl',
        appendId: false, // this is set to false just because of the TreePanel behavior
    }
}

答案 2 :(得分:0)

您需要将对象传递给该函数

boolean loggedIn =  preferences.getBoolean("LoggedIn", false);

if(loggedIn){
// call main activity
}else{
//call login activity
}

那么你的功能将是

$("#gebruikersnaam").focusout(function(){ 
            Formulier1(this);
});