для того чтобы в жуквери добавить событие пишем
$("#id").click(function(){…})
но если надо добавить в событие моих данных надо переписывать на bind
$("#id").bind("click",object,function(){…})
допустим я вешаю событие внутри метода какого-то объекта и хочу передать внутрь события этот объект для того чтобы был доступен еще какойто метод в контексте
var myObj = {
bind : function(){
$("#id").bind("click",this,function(e){
var objInst = e.data;
objInst.doSmth();
});
},
doSmth : function(){
…
}
вопрос про область видимости. стоит ли передавать объект как данные (как в примере выше) или использовать из верхней области видимости (как в примере ниже)
var myObj = {
bind : function(){
var self = this;
$("#id").click(function(e){
// this == #id
self.doSmth();
});
},
doSmth : function(){
…
}