Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 16.09.2014, 12:03
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Воу!
http://stackoverflow.com/questions/3...disabled-input
По ходу задизейбленный элемент не пускает всплытие событий!
Ответить с цитированием
  #12 (permalink)  
Старый 16.09.2014, 13:07
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

Сообщение от tsigel Посмотреть сообщение
Воу!
http://stackoverflow.com/questions/3...disabled-input
По ходу задизейбленный элемент не пускает всплытие событий!
я к span-у прицепляю обработчик, который уже содержит в себе задизэйбленный input. По идее это похоже на совет, который дается по Вашей ссылке, состоящий в том, чтобы прицеплять обработчик к элементу, который будет поверх input. Есть какая-то принципиальная разница в том, как я это делаю?
Ответить с цитированием
  #13 (permalink)  
Старый 16.09.2014, 13:11
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Цитата:
я к span-у прицепляю обработчик, который уже содержит в себе задизэйбленный input. По идее это похоже на совет, который дается по Вашей ссылке состоящий в том, чтобы прицеплять обработчик к элементу который будет поверх input. Есть какая-то принципиальная разница в том как я это делаю?
Цитата:
$("div > div").click(function (evt) {
$(this).hide().prev("input[disabled]").prop("disabled", false).focus();
});​
Да, там говорится о том что событие придется вешать не на родительский элемент, а на "брата" лежащего на тех-же координатах. Потому что задизейбленный инпут не пускает всплытие (делегирование) событий и на родителе оно не происходит.

Внимательно посмотрите пример, там див который в верстке лежит рядом с инпутом а по стилям - точно сверху.
Ответить с цитированием
  #14 (permalink)  
Старый 16.09.2014, 13:26
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

Сообщение от tsigel Посмотреть сообщение
Да, там говорится о том что событие придется вешать не на родительский элемент, а на "брата" лежащего на тех-же координатах. Потому что задизейбленный инпут не пускает всплытие (делегирование) событий и на родителе оно не происходит.

Внимательно посмотрите пример, там див который в верстке лежит рядом с инпутом а по стилям - точно сверху.
Спасибо.
По-моему, там говорится о том, что можно вешать на контейнер для большинства браузеров, за исключением FF:
" Most browsers will propagate an event originating from the disabled element up the DOM tree, so event handlers could be placed on container elements"
но в Хроме как выходит не работает
Попробую как в примере.
Странно. Такое ощущение, что Хром или все браузеры разом изменили подход к отключенным инпутам. Ведь раньше работало. Либо действительно есть скрипт, который пересоздает кнопку... Истина, приди к нам

Последний раз редактировалось borus, 16.09.2014 в 13:31.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему alert не срабатывает для несуществующей переменной? Почемучкин Общие вопросы Javascript 10 16.08.2012 09:32
Клик срабатывает без щелчка на кнопке - почему?.. deivan Events/DOM/Window 3 13.08.2012 14:42
Почему скрипт срабатывает только после обновления страницы? Randomizer jQuery 2 01.09.2010 19:01
Почему не работает функция? Vitaly jQuery 10 31.07.2009 17:01
Функция не возвращает false, почему? Vitaly jQuery 3 05.07.2009 16:05