2011-02-26 14 views
5

Aktualnie próbuję wygenerować alert, gdy coś zostanie kliknięte. mogę dostać pracy w jsFiddle, ale nie w produkcji kodu:selektor klasy jQuery i kliknięcie()

jsFiddle example that works (jQuery 1.5 załadowany)
HTML (w przypadku jsFiddle jest niedostępne):

<!DOCTYPE HTML><html><head><title>Test</title></head> 
<body> <h1>25 Feb 2011</h1><h3>ABC</h3><ul> 
     <li class="todoitem">Test&mdash;5 minutes</li> </ul> 
</body></html> 

javascript:

$(".todoitem").click(function() { 
alert('Item selected'); 
}); 

Nieprodukcyjny przykład produkcji:

<!DOCTYPE HTML><html><head><title>Test</title> 
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
     $(".todoitem").click(function() { 
     alert('Item selected'); 
     }); 
    </script> 
</head> 
<body> 
<h1>25 Feb 2011</h1><h3>ABC</h3><ul><li class="todoitem">Test&mdash;5 minutes</li></ul> 
</body> 
</html> 

Inspektor Safari wskazuje, że jQuery jest ładowany poprawnie, więc to nie jest problem. O ile wiem, te dwa fragmenty kodu są zasadniczo identyczne, ale te ostatnie nie działają. Czy ktoś może zobaczyć, co zrobiłem źle?

Odpowiedz

18

Trzeba owinąć kod w $ (document) .ready()

To zadziała

$(document).ready(function(){ 
     $(".todoitem").click(function() { 
      alert('Item selected'); 
     }); 
}); 

JSfiddle robi to za ciebie automatycznie

+0

Yup. To jest poprawne. – Kranu

2

Wrap kod wewnątrz

$(function(){ 

}) 

A masz działający kod

$(function(){ 

    $(".todoitem").click(function() { 
     alert('Item selected'); 
    }); 

})