Я пытаюсь понять разницу между этими двумя методами обратного вызова и тем, как они обрабатывают контекст $(this)
.
Рабочий пример
$("#container").on("click",".button", function() {
$(this).text("foo");
});
Этот процесс работает просто отлично. Однако, если я хочу сделать другой подход, я теряю контекст события.
Номера Рабочего пример
bindAnEventToAnElement: function(theElement, theEvent, theFunctions) {
$("body").on(theEvent, theElement, function() {
theFunctions();
});
}
bindAnEventToAnElement(".button", "click", function() {
$(this).text("foo");
});
Последние производит неопределенную ошибку. Есть ли способ, с помощью которого я могу обрабатывать обратные вызовы, сохраняя при этом контекст события?
Fiddle http://jsfiddle.net/szrjt6ta/
Вы можете просто сделать '$ ("тело") на (theEvent, theElement, theFunctions); 'и контекст будет правильным. Здесь все о контексте :) –