Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Положение курсора в строке обычного HTML текста (НЕ input и textarea) (https://javascript.ru/forum/misc/18172-polozhenie-kursora-v-stroke-obychnogo-html-teksta-ne-input-i-textarea.html)

person 22.06.2011 06:38

Есть же "стандартные", давно отлаженные функции для полей, они что не работают? нужно что то специфическое?
Попробуй на fastcoder.ru поспрашивать, trikadin ссылку давал, сам этим пользуюсь, лучше не видел.

9xakep 22.06.2011 07:32

Цитата:

Сообщение от Murmurianez (Сообщение 109797)
Monolithed
Мне б такую карму)
Боюсь, элемент и символ в строке - разные вещи.
При получении элемента получим подобный эффект:
http://javascript.ru/forum/events/17...navedenii.html (запустить нижний пример)
А при пляске от него - та же самая проблема.

а что нельзя каждую букву в <div> заключить дай определенный id и у тебя будет тот желаемый эффект,или нет?
то есть что-то такое:
<div><div id="t">Т</div><div id="e">e</div><div id="k>k</div><div id="c">c</div><div id="t2">т</div></div>

trikadin 22.06.2011 14:06

Murmurianez, мне кажется, вот решение твой проблемы:

<html>
<body>
<div contenteditable="true" id="edDiv">
Текст)
</div>
<button onclick="return clicker()">Вставить &lt;b&gt;</button>
<script>
function clicker() {
 var sel= window.getSelection();
 var rng= document.createRange()
 rng.setStart(sel.anchorNode, sel.anchorOffset);
 rng.setEnd(sel.focusNode, sel.focusOffset);
 var bi= document.createElement("b");
 rng.surroundContents(bi);
};
</script>
</body>
</html>


Все методы, которые я тут использовал, описаны в статье, ссылку на которую я отправлял. Ну, и для ie допилишь ф-цию сам. И вообще допилишь её.

Murmurianez 22.06.2011 14:53

Person
Ссылка то хорошая, да не та...
На 2007.fastcoder.ru тоже поспрашиваю...

9xakep
FINoM уже предлагал такое решение - текст, даже при использовании своего тега из одной буквы, вырастит нереально (а текст может быть очень большой, да ещё и utf-8), хотя я это могу на сервер и не передавать...

Обработка 200Кб x 2 текста - надо подумать ещё раз. Похоже, самое простое решение - самое единственное...
Не, не вариант, ещё каждой букве id прописывать.

Trikadin
Спасибо за старание, но это не то. Мне нужен номер символа и больше ничего. А это стандартный подход к написанию wisiwig, с которым я и борюсь, при котором каждый браузер будет выдавать свою разметку (http://habrahabr.ru/blogs/webdev/107829/)

monolithed 22.06.2011 18:18

Цитата:

Сообщение от Murmurianez
Не, не вариант, ещё каждой букве id прописывать.

для чего?

(Sandr) 22.06.2011 21:18

Автор, возможно если ты разберёшься в коде этой игры, то поймёшь как сделать
http://www.wwk.kiev.ua/squares.html (не реклама)

Murmurianez 23.06.2011 00:06

Monolithed
Чтобы узнать номер той самой буквы. А как ещё?

(Sandr)
Не то, символьный и координатный курсор - разные вещи. Но, игруха забавная.
Я уж не знаю, спам ты или нет, но мы тут с другом жёстко втянулись - он её себе уже на PSP хочет. Рекорд на двоих - 7.333
А сюжет то какой - про лётчиков...

trikadin 23.06.2011 01:54

Murmurianez, к сожалению, у вас только эти варианты. Use it)

monolithed 23.06.2011 11:57

Цитата:

Сообщение от Murmurianez
Чтобы узнать номер той самой буквы. А как ещё?

очевидно, что по индексу элемента

Murmurianez 23.06.2011 23:45

Trikadin
Зато остальное отсеяли - теперь голову ломать не надо - просто делать и проверять на юзабельность.

Monolithed
Почитал мануалов - теперь очевидно)

Спасибо всем за участие! Удачи!


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