Я новичок в магистрали, и я ищу способ запуска моей кнопки, когда я нажимаю . Введите, а также нажмите. В настоящее время showPrompt выполняется только щелчком. Какой самый чистый DRYest способ выполнить его при нажатии Введите, предпочтительно, только для этого поля ввода.Магическое событие стрельбы по клику ИЛИ нажмите ввод
(function() {
var Friend = Backbone.Model.extend({
name: null
});
var Friends = Backbone.Collection.extend({
initialize: function (models, options) {
this.bind("add", options.view.addFriendLi);
}
});
var AppView = Backbone.View.extend({
el: $("body"),
initialize: function() {
this.friends = new Friends(null, {view: this});
},
events: {
"click #add-friend": "showPrompt",
},
showPrompt: function() {
var friend_name = $("#friend-name").val()
var friend_model = new Friend({ name:friend_name });
this.friends.add(friend_model);
},
addFriendLi: function (model) {
$("#friends-list").append("<li>" + model.get('name') + "</li>");
}
});
var appView = new AppView;
}());
Также где я могу узнать больше об этом виде привязки событий? Разнообразные события отличаются от событий JS или jQuery в том, как они определены?
Так что мне нужно иметь две разные функции? Keypress evennt handler и подсказка show .. hm думаю, что все в порядке, не кажется очень сухим, хотя – Melbourne2991
Вы можете думать о вызове 'showPrompt' снова на' keyup' с проверкой на 'keyCode'. –
Вместо того, чтобы запускать событие 'click' на' # add-friend', просто вызвать 'this.showPrompt()' будет достаточно. –