2012-01-29 4 views
0

Я написал простейший WYSIWYG в JS/JQuery: http://jsfiddle.net/XnSWF/WYSIWYG снова, IE Простейшим ExecCommand

отлично работает (например, установить, чтобы написать жирным или установить полужирный выделенному тексту.) На Newset Opera 11, Chrome 16, Firefox 9 и Safari 5.1, но в IE9 я не могу выделить полужирный выделенный текст, и всегда, когда я использую жирную кнопку, этот carret переходит к первой строке в первую букву ...

Почему?

ответ

1

Это потому, что выбор разрушен до того, как в IE заработает событие click. Вы можете обойти это, используя в mousedown событие вместо этого, или (лучше), делая текст кнопки неактивна:

$('<li class="wysiwyg-bold"><b unselectable="on">textBold</b></li>') 
    .appendTo('.wysiwyg-toolbar'); 

Живая демонстрация: http://jsfiddle.net/XnSWF/1/

+0

Большое спасибо! Работайте хорошо с невыбираемым атрибутом, но я пытаюсь удалить этот атрибут и «щелкнуть» на замену «mousedown» и работает только с выделенным текстом, не выделяющим полужирным шрифтом, почему? (http://jsfiddle.net/XnSWF/3/) – kicaj

+0

@kicaj: Поскольку он по-прежнему теряет выделение, он сначала получает полужирный шрифт. –

+0

Okey, еще раз спасибо! – kicaj

Смежные вопросы