Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654

Как получить содержимое дочернего элемента в выделении целого списка

22.01.2015, 18:02. Показов 1247. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
HTML5
1
2
3
4
5
6
7
<ul id="tool-tip" class="tool-tip" onclick="handler(event)" onselect"event.stopPropagation();">
    <li>item 1</li>
    <li>item 2</li>
    <li>item 3</li>
    <li>item 4</li>
    <li>item 5</li>
</ul>
JavaScript
1
2
3
function handler(e) { 
        console.log(e.target.tagName + ' - ' + e.currentTarget.tagName + ' - ' +  e.type );
}
Если кликнуть на сам элемент списка, то всё нормально. Но если нажать на один элемент, и не отпуская кнопки мыши, выделить ещё пару элементов и отпустить, то e.target.tagName == UL, а не LI. Можно ли как-то определить на каком LI закончилось выделение?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.01.2015, 18:02
Ответы с готовыми решениями:

Как получить текст дочернего элемента TreeViewitem?
Есть дерево treeView А Африка Кофе Б Бразилия Кофе2 Как сделать программно так чтобы при выборе...

Как получить handle дочернего элемента если функция вызывается по событию?
Для задания координат подсказки для элементов div на все div с name=&quot;div2&quot; навешивается Listener который вызывает функцию mousemove_xy в...

Как получить содержимое элемента
Доброго времени суток. Подскажите, пожалуйста, как получить содержимое класса job-reply до класса rework. &lt;span...

4
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
22.01.2015, 18:33
Цитата Сообщение от Firework Посмотреть сообщение
Можно ли как-то определить на каком LI закончилось выделение?
в браузере MSIE определить можно, и довольно просто

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script>
function myFunc ()
{
var docSel = document.selection,
    txtRange = docSel.createRange (),
    parElem = txtRange.parentElement ();
 
alert ('Â òåãå\n-----\n'
      + parElem.outerHTML
      + '\n-------\nâûäåëåí ñëåäóþùèé HTML-êîä:\n-------\n'
      + txtRange.htmlText);
}
</script>
<body onlosecapture="myFunc ()">
<ul id="tool-tip" class="tool-tip">
    <li>item 1</li>
    <li>item 2</li>
    <li>item 3</li>
    <li>item 4</li>
    <li>item 5</li>
</ul>
</body>
а вот насчёт остальных браузеров - сомневаюсь, что это вообще возможно

PS. совет на будущее: не используйте в идентификаторах, именах и названиях классов дефисы, это плохо
знаю, что стандартом это разрешается, но по логике - это бред
0
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654
23.01.2015, 17:57  [ТС]
Проблема не решена полностью.
Сделал так
JavaScript
1
2
3
4
5
function handler(e) {
        if (e.target.tagName == "UL") {
            return;
        }
// code...
Пусть кликают по списку нормально
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
23.01.2015, 20:30
Цитата Сообщение от Firework Посмотреть сообщение
Пусть кликают по списку нормально
имхо, надо просто запретить выделение на всём списке <ul>, способы описаны здесь -- http://habrahabr.ru/post/18080/
1
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654
26.01.2015, 16:31  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
имхо, надо просто запретить выделение на всём списке <ul>
Спасибо конечно за ваши старания. Про запрет выделения я и сам думал. Но запрещай - не запрещай, всё равно равно получишь UL (e.target.tagName === "UL").
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.01.2015, 16:31
Помогаю со студенческими работами здесь

Как получить содержимое элемента
Здравствуйте. Пожалуйста, покажите пример, как можно получить содержимое блока, например: &lt;div...

Получить номер дочернего элемента при клике
Вечер добрый. Как при клике, можно получить номер(индекс) дочернего элемента, в следующей конструкции?: &lt;div id='main_div'&gt;...

Не срабатывает рендер у дочернего элемента дочернего элемента(не тавтология)
Не срабатывает рендер у дочернего элемента дочернего элемента(не тавтология) https://gitlab.com/Kir1/redux.git Ветка two-child При...

Как получить текст элемента списка?
как получить текст элемента списка, этот текст находится в TextView в разметке элемента. А получить текст нужно в обработчике нажатия...

ListView: сбивается содержимое ImageView элемента при скроллинге + как сделать выделение пункта списка при нажатии?
1. Есть свой класс ContactsSimpleCursorAdapter, в методе public void bindView(View view, Context context, Cursor c) которого происходит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru