Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Имитация элемента label не для элементов формы (https://javascript.ru/forum/events/52825-imitaciya-ehlementa-label-ne-dlya-ehlementov-formy.html)

Jeremen 09.01.2015 03:49

Имитация элемента label не для элементов формы
 
Есть след. разметка:
<label for="el_id">Label</labe><div id="el_id" contenteditable="true"></div>

Если повестить обработчик клика на эл. label в котором будет браться в фокус div то при двойном клике вместо выделения текста "Label" (как это происходит в стандартных label) просто в фокус возьмется div и это в принципе очевидно. Что каждый клик сбивает фокус с label и переводит на div, но можно ли как-то сделать, чтобы при одном клике на label брался в фокус div, а при двойном происходило выделения текста "Label" (вообщем просто реализовать взаимодействие идентичное стандартной для label).

Rise 09.01.2015 15:58

Цитата:

при двойном происходило выделения текста "Label"
В нормальных браузерах так и есть.

ruslan_mart 09.01.2015 18:11

Попробуй:

label.ondblclick = function() {
    var selection = window.getSelection(),
        range = document.createRange();
    selection.removeAllRanges();
    range.selectNode(this);
    selection.addRange(range);
}

Jeremen 09.01.2015 21:25

Ruslan_xDD, спасибо большое .Работает как нужно!


Часовой пояс GMT +3, время: 15:09.