2013-03-22 15 views
7

Z jakiegoś powodu nie wiem, dlaczego moje zdarzenie w widoku Szkielet nie działa. Próbowałem uzyskać odpowiedź Google, ale nie znalazłem nic, co mogłoby mi pomóc.Szkieletowe zdarzenia nie działają

Zasadniczo mój kod to:

Backbone:

var ViniView = Backbone.View.extend({ 
    el: $('.container'), 
    events: { 
     "click .clickme" : "render" 
    }, 
    render: function() { 
     alert("please, work"); 
    } 
}); 

new ViniView; 

HTML

<div class="container"> 
    <button class="clickme"> 
    test 
    </button> 
</div> 
+1

Czy możesz podać http://jsfiddle.net/ przykład? –

+1

Czy nie potrzebujesz, aby el odnosił się do konkretnego przedmiotu, a nie do klasy? – explunit

Odpowiedz

4

Twój przykład działa dobrze dla mnie w this fiddle.

Jak jednak zauważono w explunit, twój el powinien odwoływać się do elementu i nie powinien być obiektem jQuery. $el dba o to. Według the docs:

All views have a DOM element at all times (the el property), whether they've already been inserted into the page or not. 

Sprawdź, czy masz poprawnie ładuje jQuery, podkreślenia i skryptów szkieletowe (w tej kolejności). Upewnij się też, że skrypt jest wykonywany, gdy strona jest już gotowa, a nie, powiedzmy, zanim ładowanie DOM zakończy się (powodując, że widok nie zostanie do niczego podłączony).

+2

heey kolego, dziękuję! Błędem, który popełniłem, było wykonanie mojego szkieletu z mojej gotowej funkcji. Teraz działa, dzięki. –

+0

@ J.Vinicius Dobrze słyszeć! Zrobiłem to wcześniej ... –

Powiązane problemy