Не удается выделить текст в поле ввода в 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, я больше не смогу выделить текст.


person Michael    schedule 02.12.2009    source источник
comment
Хм, у меня есть много кода, сделанного для вашего примера, который отлично работает для меня. Вы уверены, что сможете воспроизвести проблему с фрагментом, который вы нам дали?   -  person Eugene Lazutkin    schedule 03.12.2009
comment
Вы уверены, что div не стоит за чем-то другим? (Хотя это не объясняет невозможность выбора с помощью горячих клавиш)   -  person jcuenod    schedule 03.12.2009
comment
Правильный. Вот конкретные детали стиля. Внешний основной контейнер имеет большое фоновое изображение, часть которого предназначена для поля ввода. Поле ввода прозрачно и абсолютно расположено внутри контейнера.   -  person Michael    schedule 03.12.2009


Ответы (1)


Кажется, что это довольно прямолинейно, если копаться в коде, выполняемом додзё!!!

В объекте, передаваемом конструктору 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 должным образом.

person Michael    schedule 03.12.2009
comment
Было бы очень полезно, если бы вы упомянули, что рассматриваемый ввод был в перетаскиваемом элементе для начала. Иначе было непонятно, как это связано с Додзё. DnD тщательно задокументирован: docs.dojocampus.org/dojo/dnd, включая skipForm --- для этого не нужно копаться в коде. - person Eugene Lazutkin; 04.12.2009
comment
Приношу свои извинения, это не перетаскиваемая область, а всего лишь выпадающая область. Я знаю, что они одинаковые ;) Я копался в документации, я использовал документ API, который был очень неясен в этом термине. Как вы думаете, вы можете обновить документ API, чтобы он был более тесно связан с тем, что есть на сайте доджокампуса? - person Michael; 04.12.2009