Имам задължително събитие, което изглежда така:
$("#form").on("submit", { callback : Obj.method }, FunctionName);
Обвързването се изпълнява при зареждане на страницата, но при товавреме Obj.method не е дефиниран - мислех, че използва каквото и да е текущата стойност на Obj.method, но очевидно използва каквато и да е стойност в момента, в който работи.
Има ли начин да се определят данните в момента, в който се задейства манипулаторът на събитието? Предполагам, че в този момент няма ... но хората тук изглежда знаят много повече, отколкото аз.
Отговори:
2 за отговор № 1Просто увийте обратно извикване с функция и той няма да бъде стартиран, докато се извика обратно извикване.
$("#form").on("submit", {
callback : function() {
Obj.method();
}
}, FunctionName);
1 за отговор № 2
Ако е променлива, която съществува в момента, в който обработващият събития се задейства и искате да бъде оценен тогава, можете просто да го направите директно от функцията на манипулатора:
$("#form").on("submit", function(e) {
FunctionName(Obj.method);
});
или, ако искате да се обадите директно:
$("#form").on("submit", function(e) {
Obj.method();
});