wie erfassen Sie die wichtigsten Ereignisse aus einer Sicht ?
Ich versuche zu erfassen, die wichtigsten Ereignisse aus einer Sicht wie folgt:
myView = Backbone.View.extend({
el: $('#someDiv'),
initialize: function(){
//initialize some subviews
},
render: function(){
return this;
},
events:{
'keypress #someDiv': 'showKey'
},
showKey: function(e){
console.log(e.keyCode);
}
})
Nicht funktioniert ?
ps: keine [input] - Elemente in der Ansicht oder deren Untersichten. Ich brauche nur zu wissen, wenn der Benutzer drückt eine Taste und dann tun Sie etwas für die Sicht.
Ich habe Ihren code benutzt und die Arbeit, die einzige Sache, die Sie sich merken müssen ist, dass das element, das Sie hinzufügen möchten, ein event muss im "Ansicht " el", zum Beispiel das element, das Sie Anhängen möchten eine Veranstaltung muss innerhalb von "#someDiv"
InformationsquelleAutor Running Turtle | 2011-05-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Taste gedrückt, geht das fokussierte element auf der Seite. Wenn Sie nichts in Ihre Ansicht und die Ansicht muss nicht jeder Fokus ist, dann haben Sie keine Tastatur-events.
( btw, wenn Sie wollen key-press-Ereignis für diese.el, tun "keypress" : "showKey" )
In der Sie über code, der Körper wird wahrscheinlich erhalten alle keypress-Ereignisse.
InformationsquelleAutor Julien
Können Sie diese in der Ansicht-Funktion initialize ():
Seien Sie vorsichtig mit Bindung ein Tastendruck, um das Dokument, es wird nicht die Bindung mit dem rest der Ereignisse, wenn Sie entfernen Sie Ihre anzeigen. Wenn Sie entfernen Sie Ihre Ansicht auch aufrufen: $(document).unbind('keypress', 'on_keypress');
Wenn ich entfernte meine Ansicht, die ich zu tun hatte
$(document).unbind('keypress', this.on_keypress)
. Fast wie MrGrigg Antwort, aber vorbei am eigentlichen Funktion nicht einen string der seinen Namen.InformationsquelleAutor Dan Caragea