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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Координаты курсора относит. экрана contenteditable 
:(
    Опции темы
denlem55
Дата 13.6.2018, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как узнать координаты курсора в элементе contenteditable, в пикселах относительно документа либо экрана либо элемента contenteditable ?
Сейчас узнаю (см. код ниже) координаты выделенного фрагмента путем определения координат выделенной области через getSelection , но это не работает когда строка пустая (нажимаю enter) - координаты в данном случае обнуляются (cursorCoords.x=0, cursorCoords.y=0)
Код

<style>
    #editfield{
        width: 100px;
        height: 100px;
        border: 1px #777 solid;
    }
</style>
<div id="editfield" contenteditable></div>
<script>
    $("#editfield").on("click keyup", function(){
        var sel = window.getSelection(),
            range = sel.getRangeAt(0),
            cursorCoords = range.getBoundingClientRect();
        console.log("cursorCoords: "+ cursorCoords.x + " х " + cursorCoords.y);
    });
</script>


Это сообщение отредактировал(а) denlem55 - 13.6.2018, 11:42
PM MAIL   Вверх
ksnk
Дата 13.6.2018, 15:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Можно добавить event в параметр анонимной функции 
Цитата

function(event){

и, когда не удалось получить разумный range, смотреть event.clientX и event.clientY


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
denlem55
Дата 13.6.2018, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(ksnk @  13.6.2018,  15:06 Найти цитируемый пост)
Можно добавить event в параметр анонимной функции 

Частично работает, спасибо, но только с событием "click". Но с событием "keyup" все равно выдает 0

PM MAIL   Вверх
ksnk
Дата 13.6.2018, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Когда клавиша нажата - откуда брать выделенный размер?
Можно, конечно, следить за движением мыши, поставив прослушку на событие "mousemove", запоминая последнее положение курсора, но это довольно дорогое удовольствие.
 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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