2017-02-07 14 views
1

は、なぜ私はコンソール出力を取得していない午前、いくつかの概念的な間違いがあります HTMLページが以下のコードで、onイベントハンドラが起動しないのはなぜですか?

$(document).on('ready',check()); 

function check(){ 
    $('#submit').on('click',function(){ 

    console.log("hi"); 
    }) 



} 

おかげsdcsc = dsfsdfvdvd(だけ排除するために

!DOCTYPE html> 
<html> 
<head> 
    <title>prac 1</title> 
    <script type="text/javascript" src="jquery-3.1.1.min (1).js"></script> 
<script type="text/javascript" src="script2.js"></script> 
</head> 

<body> 

<input type="text" id="just"> 
<input type="submit" id="submit"> 

<p></p><p></p> 
<div id="div1"></div> 

</body> 
</html> 
また

script2.jsされています詳細のエラー)

+0

'submit'は無意味です。 –

+1

@ZakariaAcharkiええ、最終的に提出は要素なので、 "クリック"する必要がありますか? – Eminem347

+0

それはちょうどメモだった.. –

答えて

5

check()呼び出しcheckは、すぐに、要素が存在する前に、ので、彼らがあるので、見つからず、ハンドラは接続されていません。

あなたはreadyに、機能、ないその戻り値を渡すことになっている:

$(document).on("ready", check); 
// No() --------------------^ 
+0

それでもうまくいかない – Eminem347

0

あなたの<body>タグの下部にあるJSファイルをロードするためのベストプラクティスです。

だからあなたのHTMLファイルには、次のようになります。フォームのない

<!DOCTYPE html> 
<html> 
<head> 
    <title>prac 1</title> 
</head> 

<body> 

<input type="text" id="just"> 
<input type="submit" id="submit"> 

<p></p><p></p> 
<div id="div1"></div> 

<script type="text/javascript" src="jquery-3.1.1.min (1).js"></script> 
<script type="text/javascript" src="script2.js"></script> 
</body> 
</html> 
関連する問題