2016-04-14 5 views
1

私はJQueryとJavascriptの新機能が一般的です。私は学校向けのプロジェクトに取り組んでいます。機能を定義することなくすべてを動作させることができますが、私は冗長なコードを減らしたいと思います。JQueryは.blur()内で定義された関数を実行していません

ここで私が何をしようとしているのビットがあります:

function firstNameChanged() { 
    var x = document.getElementById("firstName").value; 

    if (x == null || x == "") { 
     $("#firstNameError").html(" First name can't be blank!"); 
    } 
    else { 
     $("#firstNameError").html(""); 
    } 
} 

$(document).ready(function(){ 

$("#firstName").blur(firstNameChange()); 
} 

はい、私のようにそれを渡したときにコードが動作するので、私は、すべてのIDが存在するポジティブだ:

$("#firstName").blur(function(){ 
    var x = document.getElementById("firstName").value; 

    if (x == null || x == "") { 
     $("#firstNameError").html(" First name can't be blank!"); 
    } 
    else { 
     $("#firstNameError").html(""); 
    } 
}) 

私はJavascriptとJQueryの構文について、Chromeでデバッグされたドキュメントをたくさん見てきましたが、わかりません。

+0

、あなたがコールバックとしてそれを提供する必要があります削除: '$( "#1のfirstName")(firstNameChange)にぼかしを;' – Pevara

答えて

3

blurは、パラメータとして関数参照が必要です。 firstNameChange()です。すぐに機能するのはです。 。あなたが関数を呼び出している()

$("#firstName").blur(firstNameChange); 
+0

パーフェクト修正!ありがとう、構文は難しいです。 –

関連する問題