3

一体何が起こっているのかわからない。

単純な JavaScript コードが機能しないのはなぜですか? 何時間もここにいた。私は他のJavaScriptをたくさん持っていますが、それが中断しているかどうかを考えていましたか?

チュートリアルを実行しようとすると、最初の行で行き詰まりました:

$('#name').keyup(function() {
    alert('alert');
});

問題がわかりません..フィドルでは、もちろんすべて機能しています http://jsfiddle.net/pgWtK/1/

ドキュメントの準備ができた状態で頭の中に入れてみましたが、それは役に立ちません。手がかりはありますか?

4

5 に答える 5

4

put it in $(document).ready(function(){使用する前に DOM 要素を jquery で使用できるようにする必要があります。この場合、keyup イベントをバインドするための ID 名を持つ要素です。

Also make sure you have included jquery tag.この記事では、jquery の使用方法について説明します。

$(document).ready(function(){    
     $('#name').keyup(function() {
        alert('alert');
     });
})
于 2012-11-16T15:54:13.703 に答える
2
  1. FireBugまたは代替がインストールされていることを確認してください
  2. jQueryがFireBugまたは代替のネットワークパネルにロードされていることを確認します。CDNからロードしてローカルでテストしている場合、ロードされていない場合はフォールバックがあることを確認してください
  3. $(document).ready(...)jQueryコードが呼び出しでラップされていることを確認してください
  4. FiregBugまたは代替のコンソールで次のコードを使用して、イベントが要素にバインドされていることを確認します。

    $('#name')。data('events');

于 2012-11-16T15:58:51.663 に答える
2

Jquery ライブラリを正しくロードしていないか、そのコードをドキュメント内に配置していないという 2 つのことが発生する可能性があります。

頭の例に jquery を追加します。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

内部のjquerydocument ready

$(function(){
   $('#name').keyup(function() {
      alert('alert');
   });
});
于 2012-11-16T15:55:00.690 に答える
0

コードをドキュメント内にまとめます

$(function(){
 //your code

});

jsfiddle ではデフォルトで行われますが、no-wrap(head)オプションを選択すると、js コードがreadyハンドラー内にラップさません。

readyすべての js グリッターが発生する前に DOM がレンダリングされるように、ハンドラー内に js コードを配置することを常にお勧めします。または、js スクリプトをマークアップの最後に配置することもできます。

于 2012-11-16T15:54:47.330 に答える
0

問題はファイルvote.jsにあり、見逃したこのコードでコードを変更します$(

$(document).ready(function(){
   $(function(){
     $('#name').keyup(function() {
     alert('alert');
     });
  });
})
于 2012-11-16T16:40:56.857 に答える