12
Wiem, że ten problem pojawia się milion razy, ale przeszedłem już wszystkie odpowiedzi i żadna z nich nie pomogła. .Zdarzenia kliknięcia jQuery i kręgosłupa nie są uruchamiane
JS Fiddle: http://jsfiddle.net/ZrYYy/
var LoginView = Backbone.View.extend({
initialize: function() {
console.log('Login View Intialized');
this.el = $('#login-container');
},
// Setup the events (mainly the login)
events: {
// Login - function
"click #login-btn" : "checkLogin"
},
// Actually authorization function
checkLogin: function() {
console.log("Authorizing login details with server...");
}
});
// Get it all up and going
var newLogin = new Login();
var loginView = new LoginView({model: newLogin});
W skrzypcach, gdy wiążę normalne $ ('# login-btn') kliknij(); zdarzenie działa dobrze, chociaż nie działa w mojej własnej konfiguracji (z chromem). Zdarzenie kliknięcia szkieletowego nie działa w ogóle.
To właśnie nagłówek wygląda na moim własnym kodem
<link href="assets/admin/css/bootstrap.css" rel="stylesheet" type="text/css">
<link href="assets/admin/css/bootstrap-responsive.css" rel="stylesheet" type="text/css">
<link href="assets/admin/css/style.css" rel="stylesheet" type="text/css">
<script src="assets/admin/js/jquery-1.9.1.min.js"></script>
<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone-min.js"></script>
<script src="assets/admin/backbone/login.js"></script>
<script src="assets/admin/js/bootstrap.min.js"></script>
Znam jego najlepszych praktyk, aby je umieścić w stopce ale teraz podczas gdy istnieje problem ten nie ma znaczenia (?).
Czy są jakieś błędy w Chrome Developer Console? –
Nie ma żadnych, wiązanie zdarzenia kliknięcia z konsoli bezpośrednio przez jQuery wydaje się działać. Próbowałem przy użyciu .on() etc .. żaden z nich nie działa. Backbone po prostu zawiedzie ... – SamV
'
musiałem ustawić el bez jQuery go do pracy w JSFiddle ... el: "body"
Źródło
2013-10-08 16:08:53 webninjataylor
Jak wyjaśniono w innej odpowiedzi, dla
events
do pracy, musisz użyć właściwościel
. Właściwośćel
jest niezbędna do utworzenia szkieletu rejestrującego zdarzenia poprzez odniesienie do elementu we właściwościel
. Ale w niektórych przypadkach html nie jest jeszcze generowany. W takich przypadkach można użyćtagName
zamiastel
.tagName
jest użyteczne do dynamicznego generowania elementu, podobnie jakdocument.createElement
.Źródło
2016-07-10 12:45:45
Węzeł podstawowy Węzeł określa obszar roboczy kontrolera widoku.Tylko węzły wewnątrz el zostaną zmienione, odsłuchane lub zmienione z metody renderowania szkieletów.
Ustaw el jak najbliżej obszaru, który chcesz utrzymywać za pomocą kontrolera widoku, aby uniknąć skrzyżowań lub niechcianych rodziców z innymi kontrolerami View.
Wyobraźnia Widok1 obejmuje obszar widoku 2 i renderowanie nad jego węzłami. View2 nie będzie działał więcej, jeśli posiada Referencje węzłów, ponieważ mogą one zostać uszkodzone poprzez renderowanie z View1.
Należy więc pamiętać o skrzyżowaniach widoków i związanych z nimi zagrożeniach. Backbone to biblioteka, a nie framework i nie ochroni cię przed robieniem głupich rzeczy.
Źródło
2016-11-23 07:55:20 Steffomio