Я пытаюсь использовать Ember.js, но я застреваю при использовании действий.Ember.js map action keyUp event
Если я использую следующее:
<button {{action "test"}}>Test</button>
И создать контроллер:
App.NewController = Ember.ArrayController.extend({
actions: {
test: function() {
console.log("test");
},
}
});
Тогда все прекрасно работает, и я могу видеть test
в моем журнале. Однако, когда я пытаюсь следующее:
<input type="text" {{action "test2" on="keyUp"}} />
И определить test2
действие подобным образом:
App.NewController = Ember.ArrayController.extend({
actions: {
test: function() {
console.log("test");
},
test2: function() {
console.log("test2");
}
}
});
Тогда это не похоже на работу. Моя тестовая кнопка работает, но обработчик события keyup не запускается, как я ожидал после чтения the documentation.
Спасибо, я использовал первый метод (с 'postKey'). Я попробую другой подход (из связанного ответа) позже. Является ли это решение предпочтительным или не имеет значения? – g00glen00b
Это зависит от того, что вам нужно. Если все, о чем вы заботитесь, это когда поле меняется, а не когда кто-то нажимает shift или ctrl или что-то подобное, я думаю, что это решение проще. Если вы действительно хотите знать, когда поднимается какая-либо клавиша (например, клавиша ввода), другое решение лучше. – Kingpin2k
@ Kingpin2k: есть ли способ ввести задержку. В настоящее время, когда пользователь нажимает клавишу, мы вызываем функцию. Теперь я хочу убедиться, что когда пользователь делает паузу или делает ввод, тогда только я должен вызывать функцию вместо вызова функции на каждом ключе вниз. – SharpCoder