Проблемы с конекстом в javascript помогите разобраться
есть вот такой код:
buttons = [
{
name:"Редактирвать",
function_do:this.changeUpdateMarker,
validate: true,
closeOnSuccess:true
},
{
name:"Удалить",
function_do:this.removeDeleteMarker,
validate:false,
closeOnSuccess:true
}
]
addButtons:function(buttons){
this.dialog_prop.buttons = {};
var $el = this.$el,
itter,
button;
for(itter=0; itter < buttons.length; itter++ ){
if(typeof(buttons[itter].function_do) == "function"){
button = buttons[itter];
this.dialog_prop.buttons[buttons[itter].name] = function(){
if($el.find('form').validationEngine('validate') == true ){
button.function_do();
$el.find('form').validationEngine('hide');
$(this).dialog("close");
$(this).dialog("destroy");
}
}
}
}
this.dialog_prop.buttons["Отмена"]= function(){
$(this).dialog("close");
$(this).dialog("destroy");
}
}
код добавляет кнопки в цикле для jquery ui dialog widget из массива объектов buttons. В функции кнопки выполняется функция function_do из массива объектов buttons + выполняются доп. действия типа валидации форм и закрытии диалога. Проблема в том что когда в я пытаюсь присоединение 2 кнопки и более то строка button.function_do(); всегда выполняет функцию из последнего объекта массива buttons для все присоединенных в цикле кнопок , я так понимаю проблема с контекстом, но как её решить ума не приложу. Помогите пожалуйста. |
На самом деле я скажу секрет, тут ни кто не любит читать много кода, тем более связанного с вертской. верстка - для домохозяек, это не требует мозгов и рутиный рабский труд.
Если не будут отвечать значит причина в этом. А лично мне лень читать слишком много непонятного мне кода... Я например не знаю что такое dialog_prop и если ты думаешь что тут сидят суперанограммисты ты прав, но если думаешь что тут сидят суперпрограммисты которые могут считывать код тоннами разбираясь в нем, то ты не прав. вот я те клянусь, ты ни где в коде не создавал свойство dialog_prop чтобы в него что-то там засовывать. |
Цитата:
nafigator1989, сохраняйте this в локальную переменную. |
Цитата:
Верстать сайтики менюшки это не каждый может, шаблоны на джумлу подгонять я еще в 15 лет этим занимался. Группы вконтакте оформлять. Это так сложно это элита фриланс отросли. (из моих слов НЕ следует: "все кто верстают домохозяйки и рабы") Ладно не будем вар разводить, я просто высказал мнение. |
Цитата:
|
Цитата:
п.с. вот я клянусь я релаьно не понял что происходит в коде. код вообще ошибку выдаст! что вот это такое вообще? Стойте стойте, так это ж разные скрипты! между 15 и 18 стройкой огромное расстояние! все тпеерь понятно он просто новичок и не догадался нормально оформить. ясно. |
| Часовой пояс GMT +3, время: 01:33. |