2016-07-13 4 views
-3

私はそれが働いている接続されたjsファイルでhtmlを持っています。なぜJqueryはイベントのクリックを聞きませんか?

私は$('#userAdd').click(addUser);をGoogleコンソール(インスペクタ)に書き込もうとします。

次のようになります.clickマイJS:

<div class="row">          
    <div class="form-group col-md-12"> 
     <div class="col-md-12"> 
<input id="userAdd" type="submit" value="Add" class="btn col-md-12 btn-primary "> 
     </div> 
    </div> 
</div> 

私は私の.click上インスペクタの "元" で、いくつかのブレークポイントを入れて、それだけで働いている:

html要素は次のようになります

$(document).ready(function() { 
    $('#userAdd').click(addUser()); 
}); 
ページがロードまたは再ロードされたとき。

更新:あなたは()を持っているので、

$('#userAdd').click(addUser()); 
          ^^ 

:今ではすべてが解決策が

$('#userAdd').click(function() { addUser(); }); 

だったこの1つが何らかの理由

$('#userAdd').click(addUser); 
+1

間違っている? – Li357

+3

'click(addUser())'の中の括弧を削除します。 'click(addUser)'でなければなりません。関数名の後のかっこは、すぐにそれを呼び出します。 – j08691

+0

@AndrewL。いいえ、コンソールは絶対にクリアです –

答えて

4

これのために働いていない働いていますaddUser関数は直ちに呼び出され、その戻り値は次のようになります引数はclick()になります。代わりに

$('#userAdd').click(addUser); 
or $('#userAdd').click(function() { addUser(); }); 

を試してください。

+0

@ Marc B .Wow、なぜ私のデバッガがwhildだったのかが分かりました:DDD ありがとう。 @ I'm Backの解決策もお手伝いします –

+0

ありがとうございました。それは私の問題を解決した –

関連する問題