События - это объект EventHandlers, которые анализируются по следующей логике:
'submit .new-task'
интерпретируется как onSubmit
для селектора .new-task
, и объявленная функция для этой строки является функцией, которая должна быть выполнена.
Эквивалент jQuery будет:
$( ".new-task" ).on( "submit", (event) {
// Prevent default browser form submit
event.preventDefault();
// Get value from form element
const target = event.target;
const text = target.text.value;
// Insert a task into the collection
Tasks.insert({
text,
createdAt: new Date(), // current time
});
// Clear form
target.text.value = '';
},
});
Некоторое основное отличие состоит в том, что в событиях шаблона Blaze текущий экземпляр шаблона передается как второй параметр (не включенный в ваш пример), который позволяет вам получать / устанавливать переменные шаблона, используя ReactiveVar
или RactiveDict
.
Написание пользовательских событий с использованием jQuery упустит все функции, которые Blaze предоставляет вам с картами событий.
Подробнее о картах событий здесь: http://blazejs.org/api/templates.html#Event-Maps
Подробнее о событиях jQuery можно прочитать здесь: https://api.jquery.com/on/