Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Привязка события клика при клике на элемент 
:(
    Опции темы
taral
Дата 10.9.2010, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Здравствуйте. Прошу поделится решением такой задачи.
Код

<div id="hhh">hhh</div>

Код

$('#hhh').click(function(){
   alert(1);
   $('body').click(function(){ alert(2); });
})

При нажатии на дим hhh всплывает алерт1 и алерт2. Мне же нужно что бы всплыл алерт1 и после повторного нажатия на документ всплывал алерт2. Для написания скрипта использовал Jquery

Добавлено через 3 минуты и 24 секунды
Почему так случается я понял. Это связано с порядком срабатывания событий в js. А вот как элегантно решить проблему пока не приходит в ум. Только топорные методы
PM MAIL   Вверх
skyboy
Дата 10.9.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



в функцию-обработчик первым параметром передается объект события. можно остановить "просачивание" события по родителям при помощи вызова метода stopPropagation():
Код

$('#hhh').click(function(ev){
   alert(1);
   $('body').click(function(){ alert(2); });
   ev.stopPropagation();
})

PM MAIL   Вверх
taral
Дата 10.9.2010, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Спасибо. Это какраз то что я и искал. Эта функция кросбраузерная? Ато вспоминая IE...

Это сообщение отредактировал(а) taral - 10.9.2010, 15:38
PM MAIL   Вверх
CruorVult
Дата 10.9.2010, 15:47 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 3
Всего: 28



Цитата(taral @  10.9.2010,  15:37 Найти цитируемый пост)
Эта функция кросбраузерная?

Нет, IE не поддерживает!
PM MAIL Skype   Вверх
taral
Дата 10.9.2010, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Вроде Jquery сделала его кросбаузерным
PM MAIL   Вверх
skyboy
Дата 10.9.2010, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



CruorVult, в смысле, jquery не работает под IE?  smile 
PM MAIL   Вверх
CruorVult
Дата 11.9.2010, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 3
Всего: 28



Цитата(skyboy @  10.9.2010,  16:20 Найти цитируемый пост)
CruorVult, в смысле, jquery не работает под IE?   

завтыкал, думал stopPropagation() яваскриптовский а не фреймоворковский.
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0677 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.