Невозможно выделить текст в поле ввода в IE

У меня есть поле ввода, которое находится внутри div, div имеет фоновое изображение, а поле ввода внутри него расположено и ограничено по размеру / шрифту для удобной работы с фоновым изображением. В FF все работает, как и ожидалось, в IE, хотя есть серьезная проблема. Я не могу выделить текст внутри поля ввода с помощью мыши или использовать ярлыки, такие как shift-end / home, ctrl-left / right. Вы можете перемещаться с помощью клавиш мыши и использовать клавиши удаления / возврата, чтобы настроить текст. HTML выглядит примерно так:

<div class='my_container'>
  <input type='text' name='my_text_input' class='my_input' />
</div>

Любое понимание будет с благодарностью.

Я хотел бы добавить больше информации, я прикрепляю Dojo dnd Target к внешнему div. Если я не присоединяю dnd, тогда я могу сделать выбор, как только я прикрепил dnd, я больше не могу выделить текст.

1 ответ

Решение

Кажется, что это довольно просто, когда кто-то копается в коде, выполняемом dojo!!!

В объекте, передаваемом в конструктор dojo.dnd.Target, необходимо установить для атрибута skipForm значение true.

Итак, это выглядит примерно так:

var dndTarget = new dojo.dnd.Target(searchBox, {
  isSource: false,
  copyOnly: true,
  selfCopy: false,
  selfAccept: false,
  skipForm: true  // <-- THIS IS THE FIX
});

Кажется, это говорит dojo не подключаться к элементам ввода и, таким образом, работает в IE как ожидается.

Другие вопросы по тегам