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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2011, 15:49   #1
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию Источник события, jQuery

Имеется:
Код:
<div contenteditable="true">
  <h1>something header</h1>
  <p>something text, text, text</p>
  <p>something text, text, text</p>
  <p>something <strong>text</strong>, text, text</p>
  <p>something text, text, text</p>
</div>
На внешний див навешано событие:
Код:
$('div').keydown(function(e){
  // обработка клавиш
})
Вопрос в том, как узнать, на каком из дочерних элементов было совершено событие.
Код:
$(e.target)
(пример с хабра)
Возвращает все тот же внешний див.
Может кто подсказать как быть? Уж очень не хочется вешать событие на все внутренние узлы.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 09.12.2011, 16:19   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Код:
$('div').delegate("> *", "keydown", function(){
  // this - ваш элемент
})
Cronos20 вне форума Ответить с цитированием
Старый 09.12.2011, 16:46   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Все-таки привязка к дочерним элементам...
Не будет работать на элементы, добавленные после привязки. И из "> *" не получить, к примеру, элемент "strong".
В любом случае, спасибо.
п.с. может еще будут варианты?
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 09.12.2011, 18:17   #4
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Цитата:
Все-таки привязка к дочерним элементам...
Ничего подобного ! Посмотрите еще раз внимательно на документацию delegate
Цитата:
Не будет работать на элементы, добавленные после привязки.
Вот как раз и будет работать !! См. пункт 1
Цитата:
И из "> *" не получить, к примеру, элемент "strong".
Ну тут не знаю, надо поэкспериментировать с селекторами
//P.S. еще раз посмотрел на > * ... а чего ему не работать со <strong> ? я не проверял, но все же ... берем любой из дочерних элементов .. что не так? или я что-от упустил ?

Последний раз редактировалось Cronos20; 09.12.2011 в 18:20.
Cronos20 вне форума Ответить с цитированием
Старый 12.12.2011, 09:06   #5
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Ничего подобного ! Посмотрите еще раз внимательно на документацию delegate

Вот как раз и будет работать !! См. пункт 1

Ну тут не знаю, надо поэкспериментировать с селекторами
//P.S. еще раз посмотрел на > * ... а чего ему не работать со <strong> ? я не проверял, но все же ... берем любой из дочерних элементов .. что не так? или я что-от упустил ?
Документацию глянул, попробовал поюзать:
привязка
Код:
"> *"
не работает;
Код:
"*"
т.е. любой элемент внутри дерева работает, но только для события click получилось (keydown, keyup, keypress не привязываются).
Спасибо за помощь, будем скакать от позиции каретки.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 13.12.2011, 08:34   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Для современных браузеров:
Код:
frames['frame_name'].getSelection().focusNode
вместо фрейма можно юзать объект window, функция возвращает текстовый узел, от него уже не сложно найти объект.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery события мыши в FF slips JavaScript, Ajax 1 14.05.2011 01:28
События в WPF. Обращение к компонентам формы из события Casper-SC Общие вопросы .NET 3 25.07.2010 19:03
Направленный источник света Rin Мультимедиа в Delphi 2 31.05.2010 21:39
Найти источник света в 3d =Student= Мультимедиа в Delphi 0 17.05.2010 08:25
Прописать Источник данных Swatch SQL, базы данных 2 16.12.2009 21:01