Jump to content
  • 0

::selection для IE


Selen
 Share

Question

7 answers to this question

Recommended Posts

  • 0

swetlana, ну а что с этим рейнджем дальше делать-то? Отслеживать изменения (по всем событиям клавиатуры/мыши? по таймеру?) и... каждый раз рисовать прямоугольники (VML-линии?) под каждой строкой из getClientRects()? Или оборачивать рейндж в специальный спан (предварительно убив старый)? Мне что-то сходу лучше идей не приходит, а из этих ни одна хорошей не кажется...

Link to comment
Share on other sites

  • 0
почему только в мозилле?

document.selection.createRange().text в ослике будет работать ведь.

а вообще, вот: http://msdn.microsoft.com/en-us/library/ms535872(VS.85).aspx

Свет, ну а дальше то что? Ну выделишь ты текст, а смысл? С ним же надо что то делать. Вот смастерил тут один вариант для нормальных браузерах. Способ основанный на range()

Смотреть в ФФ!

p.s. Говоря про то, что это поддерживает только Мозила, я имел ввиду про псевдоэлемент ::selection

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>range()</title>
<style type="text/css">
*{ margin: 0; padding: 0;}
#wrap {}
span { background:-moz-linear-gradient(left ,red 50%, green 70%, blue 100%);
}



</style>
</head>

<body>
<div id="wrap">
А это обычный текст, на него можно забить.Выделяем два параграфа и меняем их на дивыВыделяем два параграфа и меняем их на дивыА это обычный текст, на него можно забить.
</div>


<script type="text/javascript">
var wrap = document.getElementById('wrap');
wrap.onmouseup = range
function range(){

var rng = document.createRange();
var sel = window.getSelection();
rng = sel.getRangeAt(0);
var span = document.createElement('span');
rng.surroundContents(span);
/* var frag = rng.extractContents();
wrap.appendChild(frag);*/

}

</script>

</body>
</html>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy