2013-02-14 81 views
0

這是代碼:問題與jQuery DOM和。點擊()

<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樹中的問題,我該如何解決這個...?

謝謝先進!

+1

這樣請閱讀jQuery的教程:HTTP://文檔.jquery.com /教程:Getting_Started_with_jQuery。 – 2013-02-14 20:49:36

+0

如果你還沒有導入JQuery函數 - 當你使用「$」 - 符號時你會得到JS錯誤。「ReferenceError:$未定義 [Break On This Error]」 試試這個Firefox - Firebug插件 - 查看控制檯 $(function(){ – user1428716 2013-02-14 21:00:38

+0

圖書館已添加,但仍然無法正常工作 – MrMangado 2013-02-15 13:01:21

回答

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> 
+1

它不能在關閉正文標記之前... OP的jQuery代碼在''...這意味着你想要他們要加載庫_after_他們嘗試使用它?它需要包括_before_他們使用它 – Ian 2013-02-14 20:57:34

+0

好點,修正。 – SpaceBeers 2013-02-14 20:58:49

+0

庫已添加,但仍然沒有工作:S – MrMangado 2013-02-15 06:49:37

0

很簡單。 在執行來自該庫的方法之前,您沒有在頁面上加載JQuery庫。

0

需要導入jQuery的JS庫,以便能夠使用的功能

$(document).ready(function(){ .. etc. 
0

How can I resolve this...?

使用普通的JavaScript

(function(){ 
    document.getElementById("favorite").onclick = function() { alert('clicked'); } 
}()); 
+2

爲什麼你在這裏立即調用函數表達式? – 2013-02-14 20:52:16

+0

因爲我希望它在一個函數內部,並且它是私有的。 – 2013-02-14 20:52:45

+0

什麼是私人?你沒有聲明任何變量。在這種情況下,表達式不會帶來任何好處。但是也沒關係。我只想知道你爲什麼擁有它,謝謝! – 2013-02-14 20:53:43