0

これはコードです:

<html>
<head>
 <script type="text/javascript">
       $(document).ready(function(){
           $("#favorite").click(function(){
                     alert('click!')
           });
       });

 </script>
</head>
<body>

   <h4>Favourites <small><%= photo.fav %></small></h4>  
   <button id="favorite" class="btn btn-inverse">Favorite</button> 

</body>
</html>

ボタンをクリックしても警告ウィンドウが表示されないので、DOMツリーの問題かと思いますが、どうすれば解決できますか?

よろしくお願いします!

4

4 に答える 4

4

または... jqueryを含めていません...

編集:皮肉はさておき、コードの前に JQuery ライブラリを含めて、それを使用できるようにします。

https://developers.google.com/speed/libraries/devguide

これがどのように見えるべきかの例です...うまくいきます。

http://jsbin.com/osijok/1/edit

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
 <script type="text/javascript">
       $(document).ready(function(){
           $("#favorite").click(function(){
                     alert('click!')
           });
       });

 </script>
</head>
<body>

   <h4>Favourites <small><%= photo.fav %></small></h4>  
   <button id="favorite" class="btn btn-inverse">Favorite</button> 

</body>
</html>
于 2013-02-14T20:48:22.953 に答える
0

ものすごく単純。ライブラリからメソッドを実行する前に、JQuery ライブラリをページにロードしていません。

于 2013-02-14T20:49:30.967 に答える
0

次のような関数を使用できるようにするには、jQuery JS ライブラリをインポートする必要があります。

    $(document).ready(function(){ .. etc.
于 2013-02-14T20:49:52.833 に答える
0

どうすれば解決できますか...

プレーンな JavaScript を使用する

(function(){
  document.getElementById("favorite").onclick = function() { alert('clicked'); }
}());
于 2013-02-14T20:51:10.877 に答える