Скрыть выделение из iframe при размытии?

Можно ли скрыть выбор iframe, когда он теряет фокус?

Пример:

выделенный текст в iframe

  1. Выделите текст в фрейме contentEditable iframe
  2. Нажмите на iframe

Результат: выделение все еще видно (серым цветом)

Ожидаемый результат: текст без неактивного стиля выделения.

Есть ли какое-то свойство или какой-то скрипт для этого? (не хочу потерять выбор)


person BrunoLM    schedule 13.11.2011    source источник
comment
У вас есть доступ к коду JS внутри iframe?   -  person Blender    schedule 13.11.2011
comment
@Blender да, это возможно.   -  person BrunoLM    schedule 13.11.2011
comment
stackoverflow.com/questions/5767037/ и бит фокуса/размытия внизу моего ответа здесь должен помочь: stackoverflow.com/questions/1470932/   -  person Tim Down    schedule 14.11.2011


Ответы (1)


Вы можете назначить событие onblur для вашего iframe:

window.onblur = function() {
  if (window.getSelection) {
    window.getSelection().removeAllRanges();
  } else if (document.selection) {
    document.selection.empty();
  }
}
person Blender    schedule 13.11.2011
comment
Ну, это сняло выделение, но я его потерял и document.execCommand стал бесполезен... Я просто хотел показать реальный цвет фона, пока пользователь его выбирает. Со стилем выбора (эта серая штука) цвет не такой, как видит пользователь. Я думаю, тогда это невозможно... Спасибо... - person BrunoLM; 13.11.2011
comment
Это в браузерах Webkit (и Firefox, я думаю) через CSS3. - person Blender; 13.11.2011