Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2014, 17:51   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
Вопрос jQuery. on вызывает уст. метод, хотя не должен

Доброго времени!

Делаю динам. скрытие контента с возможностью возврата старого.

Шаг 1:
На странице контент 1,
кнопка "отмена" - Возврат на гл. страницу
и кнопка "Продолжить" - смена контента на шаг 2

Шаг 2:
На странице контент 2,
кнопка "отмена" - Возврат на шаг 1
и кнопка "Продолжить" - действие 3

как это выглядит:
1. Загружаю страницу, динам. устанавливаются обработчики:
Код:
//Продолжить
jq('table .content_btn #next_btn').off();
jq('table .content_btn #next_btn').on('click', NextStep1Click);
//Назад
jq('table .content_btn #prev_btn').off();
jq('table .content_btn #prev_btn').on('click', BackStep1Click);
Обработчики:
Код:
function BackStep1Click() {
	.....
};

function BackStep2Click() {
...скрываю содержимое шага 2
...показываю содержимое шага 1
	jq('table .content_btn #next_btn').off();
	jq('table .content_btn #next_btn').on('click', NextStep1Click);
	jq('table .content_btn #prev_btn').off();
	jq('table .content_btn #prev_btn').on('click', BackStep1Click);
};

//Перешли с гл. страницы на страницу чтения дог-а и галочки
function NextStep1Click() {
...скрываю содержимое шага 1
...показываю содержимое шага 2
	jq('table .content_btn #prev_btn').off();
	jq('table .content_btn #prev_btn').on('click', BackStep2Click); 
	jq('table .content_btn #next_btn').off();
	jq('table .content_btn #next_btn').on('click', alert('hi!'));
};
Жму "продолжить" на шаге 1, вызывается NextStep1Click, показывается шаг 2, а затем вылетает мой alert.
Как запретить его вылет, но так чтобы обработчик нажатия(переход на шаг 3) там был назначен?

Ведь по идее тоже должно происходить и с "назад", но не происходит.
Человек_Борща вне форума Ответить с цитированием
Старый 21.08.2014, 18:54   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Код:
jq('table .content_btn #next_btn').on('click', alert('hi!'));
тут ты передаешь не функцию, а результат ее выполнения, вот алерт и срабатывает на месте)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить место куда должен возвращаться элемент JQuery UI Arassir JavaScript, Ajax 0 26.09.2011 12:30
JQuery next метод Gorychev JavaScript, Ajax 3 10.08.2010 18:18
ВКЛЮЧАЯ НАУШНИКИ, ЗВУК ИСХОДИТ И ИЗ ДИНАМИКА ТОЖЕ.ХОТЯ ДОЛЖЕН ОТКЛЮЧАТЬСЯ S82 Помощь студентам 7 06.02.2009 21:35
программирование внешних устройств - книга Сопряженние ПК с внеш. уст.(Пей Ан) Denis_Gul Помощь студентам 3 29.11.2008 11:05
метод Close для ADODataSet вызывает ошибку 'BOF или EOF имеет ...' (mdac 6.0) jane БД в Delphi 1 16.07.2008 07:34