Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2012, 13:30
Новичок на форуме
Отправить личное сообщение для nafigator1989 Посмотреть профиль Найти все сообщения от nafigator1989
 
Регистрация: 20.02.2012
Сообщений: 1

Проблемы с конекстом в 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 для все присоединенных в цикле кнопок , я так понимаю проблема с контекстом, но как её решить ума не приложу. Помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2012, 14:44
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

На самом деле я скажу секрет, тут ни кто не любит читать много кода, тем более связанного с вертской. верстка - для домохозяек, это не требует мозгов и рутиный рабский труд.

Если не будут отвечать значит причина в этом.

А лично мне лень читать слишком много непонятного мне кода...

Я например не знаю что такое dialog_prop
и если ты думаешь что тут сидят суперанограммисты ты прав, но если думаешь что тут сидят суперпрограммисты которые могут считывать код тоннами разбираясь в нем, то ты не прав.

вот я те клянусь, ты ни где в коде не создавал свойство

dialog_prop чтобы в него что-то там засовывать.

Последний раз редактировалось Mахmахmахimus, 20.02.2012 в 14:47.
Ответить с цитированием
  #3 (permalink)  
Старый 20.02.2012, 14:50
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Mахmахmахimus
верстка - для домохозяек, это не требует мозгов и рутиный рабский труд.
Нуну.


nafigator1989,
сохраняйте this в локальную переменную.
Ответить с цитированием
  #4 (permalink)  
Старый 20.02.2012, 14:52
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Сообщение от Kolyaj
Нуну
что разве нет?
Верстать сайтики менюшки это не каждый может, шаблоны на джумлу подгонять я еще в 15 лет этим занимался. Группы вконтакте оформлять. Это так сложно это элита фриланс отросли.

(из моих слов НЕ следует: "все кто верстают домохозяйки и рабы")

Ладно не будем вар разводить, я просто высказал мнение.

Последний раз редактировалось Mахmахmахimus, 20.02.2012 в 14:54.
Ответить с цитированием
  #5 (permalink)  
Старый 20.02.2012, 14:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Mахmахmахimus
(из моих слов НЕ следует: "все кто верстают домохозяйки и рабы")
Из твоих слов следует, что для занятия вёрсткой не нужны мозги. То то толковых верстальщиков днём с огнём не сыщешь.
Ответить с цитированием
  #6 (permalink)  
Старый 20.02.2012, 14:56
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Сообщение от Kolyaj
Из твоих слов следует, что для занятия вёрсткой не нужны мозги.
именно, да я это и хотел сказать, что это не требует мозгов и скучно по этому многие могут не отвечать в таких темах.

п.с. вот я клянусь я релаьно не понял что происходит в коде. код вообще ошибку выдаст!

что вот это такое вообще?
addButtons:function( 18 строчка. что это? я мож что-то упустил новый синтаксис деалкрирования функций?
Стойте стойте, так это ж разные скрипты! между 15 и 18 стройкой огромное расстояние! все тпеерь понятно он просто новичок и не догадался нормально оформить. ясно.

Последний раз редактировалось Mахmахmахimus, 20.02.2012 в 15:02.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Помогите разобраться с повторением при генерации массива (Javascript) JsLoveR Javascript под браузер 4 16.12.2009 15:26
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37