- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет.
Столкнулся с такой проблемой:
Итак, есть кнопка по нажатии на которую в определенный DIV загружается (с помощью ajax) страница, в которой так же присутствуют скрипты на jquery (допустим обработчик нажатия на некую ссылку из загружаемой страницы) ...
Нажимаем на кнопку первый раз: страница загрузилась, все работает как надо ( обработчик нажатия на кнопку работает как надо ).
Жмем на кнопку очистки этого DIV ( empty)
Снова жмем первую кнопку, вновь загружается наша страница, но обработчик нажатия на ссылку уже не работает!!!!
Вновь жмем на кнопку очистки этого DIV ( empty)
Снова жмем первую кнопку, вновь загружается наша страница, и обработчик нажатия на ссылку вновь работает!
и так далее через раз ...
p.s естественно что если обработчик нажатия на кнопку прописать в основной странице, а не в подгружаемой, то все будет работать как надо ... но задача стоит так, чтобы он располагался именно в коде подгружаемой страницы.
Кто-нибудь сталкивался с подобным ... как победить?
ИМХО, идеально вынести этот кода в отдельный js-файл, как и весь остальной js-код (по окончании ajax bind'ить событие)
Нужно смотреть код. Без него ничего не скажу. Единственное, что где-то что-то в кэш запоминается и всё.
Вот что выяснилось: событие действительно срабатывало как надо ... вот только при повторной загрузке в DIV страницы, оно срабатывало уже 2 раза (!) ... обработчики событий у меня назначаются с помощью live, а unbind который я делал при каждой новой загрузке страницы их просто не прибивал ( оказывается в случае с live помогает только .die(), старый добрый unbind не пашет в таком случае ). Ну а так как обработчик нажатия на ссылку с помощью toggle скрывал/показывал div из загружаемой страницы, то при двойном вызове он соответственно ничего и не показывал/скрывал ... оттуда и взялась первоначальная мысль что обработчик повешанный на ссылку не срабатывает )))
обработчики событий у меня назначаются с помощью live,
лайв не предназначен для подгрузки вместе с контентом.
его лучше раз подгрузить, а потом только контент грузить.
лайв будет автоматически цеплять ивенты.
если хотите скрипт грузить с контентом, то байнд
лайв не предназначен для подгрузки вместе с контентом.
его лучше раз подгрузить, а потом только контент грузить.
лайв будет автоматически цеплять ивенты.
если хотите скрипт грузить с контентом, то байнд
в этой задаче без .live не обойтись ... сам скрипт грузиться с другого домена и вставляет нужный контент в див ... простой бинд там не сработает, а live как раз то что нужно. Но как я уже написал проблема решается с помощью .die()
p.s всем принявшим участие в обсуждении большое спасибо!