Проблемы с конекстом в 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, время: 03:52. |