Вероятно, вы имеете в виду команду «InsertUnorderedList» метода execCommand?
На вскидку, можно попробовать сохранять выделение(фокус) в виде Range(TextRange)-объекта, производить манипуляцию, а затем восстанавливать фокус из сохраненного объекта. Примерно так:
// Получим выделение (фокус)
var sel = window.getSelection? window.getSelection(): document.selection;
// Создадим из него Range(TextRange)-объект
var rng = window.getSelection? sel.getRangeAt(0): sel.createRange();
// На всякий случай сделаем клон
var rngClone = window.getSelection? rng.cloneRange(): rng.duplicate();
/*
Здесь выполним нужную команду метода execCommand
*/
// Восстановим фокус из клона
if ( window.getSelection ) {
sel = window.getSelection();
sel.removeAllRanges();
sel.addRange( rngClone );
} else rngClone.select();
Набивал прямо здесь без проверки, так что возможны ошибки, да и код можно оптимизировать. Но направление мыслей должно быть понятным…
Тесты в stable-версии ИЕ8 показали, что ребята из Силиконовой долины перенесли реализацию TextRange в свой флагман. Так что статья будет еще долгое время актуальной.
DOM-реализации Range автор там не нашел. Может плохо искал?
Давайте по пунктам:
> 1) Скругленные границы глючат в ie6 при ресайзе окна браузер
Есть такая беда, мой недосмотр, буду фиксить
> 2) видел подобные примеры с полгода назад на зарубежном сайте. Техника явно заимствована (дай бог не содрана полностью), ссылки на источник — нет, что не есть гуд.
Сама идея острых углов подсмотрена на сайте hh.ru, если быть точным, вот здесь: hh.ru/employer/40565 (ссылка «Я хочу здесь работать»). О чем я честно написал в статье. Все примеры придуманы на 100% мной и нигде не подсмотрены, так что никакие ссылки ставить больше не обязан…
> 3) раскрутка сайта на лицо ;) в конце статьи указывать свое авторство чужих примеров — вдвойне незачет.
Статья была написана для сайта fastcoder. Потом автор трудился и публиковал её здесь, а это не простой копипаст, поверьте. Так что вознаграждение виде ссылки считаю закономерным, тем более что это ссылка на самый что ни на есть оригинал.
— Ну и просто от себя добавлю. Во многих хороших постах иногда вижу комментарии, где с улюлюканьем поносят автора и кричат: «украдено!», «баян», и прочее. Так вот, далеко не всё украдено, авторы в рунете могут и сами писать. Зато почти всё уже изобретено до нас и по-настоящему оригинальную вещь написать сложно. Но если бы не было повторных открытий, то большинство классных велосипедов пылилось бы на никому неизвестных сайтах…
На вскидку, можно попробовать сохранять выделение(фокус) в виде Range(TextRange)-объекта, производить манипуляцию, а затем восстанавливать фокус из сохраненного объекта. Примерно так:
// Получим выделение (фокус)
var sel = window.getSelection? window.getSelection(): document.selection;
// Создадим из него Range(TextRange)-объект
var rng = window.getSelection? sel.getRangeAt(0): sel.createRange();
// На всякий случай сделаем клон
var rngClone = window.getSelection? rng.cloneRange(): rng.duplicate();
/*
Здесь выполним нужную команду метода execCommand
*/
// Восстановим фокус из клона
if ( window.getSelection ) {
sel = window.getSelection();
sel.removeAllRanges();
sel.addRange( rngClone );
} else rngClone.select();
Набивал прямо здесь без проверки, так что возможны ошибки, да и код можно оптимизировать. Но направление мыслей должно быть понятным…
Про простейший висивик есть даже одноименная статья:
fastcoder.org/articles/?aid=169
Про простейший висивик есть даже одноименная статья:
fastcoder.org/articles/?aid=169
DOM-реализации Range автор там не нашел. Может плохо искал?
Размочим нулевое количество комментов :-)
Хотя, к справочным данным особо ничего в догонку не напишешь…
Возможности CSS2 не перестают меня удивлять, спасибо вам.
fastcoder.org/demo/roundAngles_2.html
Домик прекрасен, но фаербаг говорит, что углы сделаны без бордеров.
Как бы его выложить?
В верстке этого блока используется единственное изображение
.roundborder {
border:1px solid #DBDBDB;
position:relative;
}
.roundborder .content {
text-align:center;
color:#7A7A7A;
padding:10px 15px;
}
.roundborder .angles {
position:absolute;
width:16px; height:13px;
background:red;
padding:0; margin:0;
}
.roundborder .tl { /*top-left*/
top:-1px; left:-1px;
background:#FFF no-repeat url(http://fastcoder.org/demo/angles.gif) top left;
}
.roundborder .tr { /*top-right*/
top:-1px; right:-1px;
background:#FFF no-repeat url(http://fastcoder.org/demo/angles.gif) top right;
}
.roundborder .bl { /*bottom-left*/
background:#FFF no-repeat url(http://fastcoder.org/demo/angles.gif) bottom left;
bottom:-1px; left:-1px;
}
.roundborder .br { /*bottom-right*/
background:#FFF no-repeat url(http://fastcoder.org/demo/angles.gif) bottom right;
bottom:-1px; right:-1px;
}
Работает прекрасно везде кромее IE6 и ниже. В этих браузерах слетает bottom и нижних уголков просто не видно.
Давайте по пунктам:
> 1) Скругленные границы глючат в ie6 при ресайзе окна браузер
Есть такая беда, мой недосмотр, буду фиксить
> 2) видел подобные примеры с полгода назад на зарубежном сайте. Техника явно заимствована (дай бог не содрана полностью), ссылки на источник — нет, что не есть гуд.
Сама идея острых углов подсмотрена на сайте hh.ru, если быть точным, вот здесь: hh.ru/employer/40565 (ссылка «Я хочу здесь работать»). О чем я честно написал в статье. Все примеры придуманы на 100% мной и нигде не подсмотрены, так что никакие ссылки ставить больше не обязан…
> 3) раскрутка сайта на лицо ;) в конце статьи указывать свое авторство чужих примеров — вдвойне незачет.
Статья была написана для сайта fastcoder. Потом автор трудился и публиковал её здесь, а это не простой копипаст, поверьте. Так что вознаграждение виде ссылки считаю закономерным, тем более что это ссылка на самый что ни на есть оригинал.
— Ну и просто от себя добавлю. Во многих хороших постах иногда вижу комментарии, где с улюлюканьем поносят автора и кричат: «украдено!», «баян», и прочее. Так вот, далеко не всё украдено, авторы в рунете могут и сами писать. Зато почти всё уже изобретено до нас и по-настоящему оригинальную вещь написать сложно. Но если бы не было повторных открытий, то большинство классных велосипедов пылилось бы на никому неизвестных сайтах…
Буду ждать пока введут РСС для более удобного чтения ленты. Вроде бы элементарная вещь, а внедрить не могут, странно.