Я использую прототипы javascript-библиотек. Мой код ниже. Я создал класс, и в этом классе я создал прослушиватель событий для одного из методов класса. В этом методе мне нужно получить доступ к атрибутам элемента формы, которые запускают событие и свойства класса. В настоящее время код понимает $ (this) .getValue() в событии, потому что это назначается элементу формы, который вызвал событие. Как я могу получить доступ к свойствам this.makingRequest и this.user из функции события? Могу ли я передать их как параметры? Если да, то как? Ничто из того, что я пробовал до сих пор, не работает. Спасибо за любую помощь.Как получить доступ к переменным класса из события в Javascript?
function AddressBookEntryObj(user, selectField)
{
this.selectField = selectField;
this.user = user;
this.makingRequest = false;
this.debugMode = false;
Event.observe(this.selectField, 'change', handleEvent);
}
//Prototype statements
AddressBookEntryObj.prototype.handleEvent = handleEvent;
//End prototype statements
function handleEvent()
{
try
{
if (!this.makingRequest)
{
this.makingRequest = true;
var ajax =
new Ajax.Request(
'/servlet/MyReallyCoolServlet',
{
method: 'get',
parameters: {
action: 'doGet',
whichFunc: 'MyReallyCoolFunction',
fieldValue: $(this).getValue(),
user: this.user
},
onCreate: handleAjaxCreate,
onComplete: handleChangeComplete
}
);
return true;
}
else
{
return false;
}
}
catch (ex)
{
alert("handleEvent Error: \r\n" + ex.toString());
}
}
Спасибо!
Эндрю
Спасибо, мужчина. Раньше я это пробовал, но, очевидно, что-то ввернул. Я ценю помощь. jsfiddle довольно круто, кстати. –
Нет проблем и да. Скалы JSFiddle, это мой инструмент goto, когда мне нужно бежать, снимая что-то с минимальным минимумом. – subhaze